我有一个链接持久的Azure函数,我想在其中将文档写入Cosmos DB。我正在运行隔离模式。我的函数看起来像这样:
[Function(nameof(ScanLinksAndInsertIntoLinksContainer))]
[CosmosDBOutput(databaseName: "dpubot", containerName: "test", Connection= "CosmosConnection"
, CreateIfNotExists = true, PartitionKey = "id")]
public static MultiResponse ScanLinksAndInsertIntoLinksContainer
([ActivityTrigger] string name, FunctionContext executionContext)
{
var message = "Life is short";
return new MultiResponse()
{
Document = new MyDocument
{
id = System.Guid.NewGuid().ToString(),
message = message
},
};
}
字符串
我收到一个错误:
Executed 'Functions.ScanLinksAndInsertIntoLinksContainer' (Failed, Id=635107bb-afc7-46e6-ac6b-5e4454f07254, Duration=2040ms)
[2023-07-17T08:26:59.443Z] System.Private.CoreLib: Exception while executing function: Functions.ScanLinksAndInsertIntoLinksContainer. Microsoft.Azure.Cosmos.Client: Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 94096d64-1801-4193-a0a2-2a7723eac59f; Reason: (Message: {"Errors":["One of the specified inputs is invalid"]}
型
我的Host.json看起来像
"logging": {
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"excludedTypes": "Request"
}
},
"extensions": {
"cosmosDB": {
"connectionMode": "Gateway",
"userAgentSuffix": "MyDesiredUserAgentStamp"
}
}
型
我的本地设置json文件看起来像
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated",
"CosmosConnection":
}
型
1条答案
按热度按时间smdncfj31#
最初,我使用vs代码和.NET 7隔离进程创建了一个默认的隔离Durable函数,然后将
CosmosDBOutput
合并到其中。一米
字符串
local.settings.json
型
host.json
型
我的.csproj文件包含以下软件包
型
Output:
的数据
的
Cosmos DB
的
请对您的数据做一些修改,将CosmosDBOutput属性的格式修改为ms docs,用于隔离进程。