问题描述
我正在创建一个带有 cosmos db 触发器的 azure 函数,我使用了 Visual Studio 代码 azure 工具来创建它并生成了以下代码:
public static class offers_trigger
{
[Function("items_trigger")]
public static void Run([CosmosDBTrigger(
databaseName: "dev",collectionName: "items",ConnectionStringSetting = "dev_DOCUMENTDB",LeaseCollectionName = "leases")] IReadOnlyList<MyDocument> input,FunctionContext context)
{
var logger = context.GetLogger("items_trigger");
if (input != null && input.Count > 0)
{
logger.Loginformation("Documents modified: " + input.Count);
logger.Loginformation("First document Id: " + input[0].Id);
}
}
}
The listener for function 'Functions.items_trigger' was unable to start. Microsoft.Azure.DocumentDB.Core: sql api is not supported for this database account
ActivityId: 773dae99-5e4e-45f7-a54f-4c5b0dbaf5a8,Microsoft.Azure.Documents.Common/2.14.0,Darwin/10.15 documentdb-netcore-sdk/2.12.0.
有人可以帮我吗?
解决方法
您使用 Cosmos DB Binding for SQL API 和您指定的 Cosmos DB 帐户不支持 SQL API。更多信息here
,我们遇到了类似的问题,该问题在某个时间点开始出现,而我们的函数应用没有任何更改。我们能够通过将“Microsoft.Azure.WebJobs.Extensions.CosmosDB”nuget 包升级到最新版本 (3.0.10) 来解决此问题