gpt4 book ai didi

azure - COSMOS DB 触发器 Azure 函数更改源错误

转载 作者:行者123 更新时间:2023-12-02 23:18:52 24 4
gpt4 key购买 nike

我正在使用带有 1.2.0 DocumentDB 扩展的 azure function 1.0.13 SDK。以下是我尝试运行的代码:

  [FunctionName("Function1")]
public static void Run([CosmosDBTrigger(
databaseName: "database",
collectionName: "collection",
ConnectionStringSetting = "DBConn",
LeaseCollectionName = "leases")]IReadOnlyList<Document> documents, TraceWriter log)
{
if (documents != null && documents.Count > 0)
{
log.Verbose("Documents modified " + documents.Count);
log.Verbose("First document Id " + documents[0].Id);
}
}

现在,当我尝试在 VS 中本地调试时,出现以下错误:

Function1:函数“Function1”的监听器无法启动。 Microsoft.Azure.WebJobs.Extensions.DocumentDB:源集合“数据库”(在数据库“数据库”中)或租赁集合“租赁”(在数据库“数据库”中)不存在。在监听器启动之前,这两个集合都必须存在。要自动创建租约集合,请将“CreateLeaseCollectionIfNotExists”设置为“true”。 Microsoft.Azure.Documents.Client:消息:{“错误”:[“找不到资源”]}

[6/26/2018 3:24:49 PM] ActivatiD:7738CC1A-F8F6-45A2-A3C6-73D342A8D4C3,请求URI:/APPS/4C8D65D7D7-D7-216B-46B-46B-46B4-ABB7-ABB7-BB7-BB7-BB8 2B3AB82C1AD/d.bb82c1a/b8 403e-8d89-9709b5068482/partitions/0a2bdc5c-471b-4acc-a093-6332c8ce1d5d/replicas/131727365611181690s,请求统计:[6/26/2018 3:24:49 PM] 响应时间:2018-06-26T15:24:48.5014600Z,StoreReadResult:StorePhysicalAddress:rntbd://10.98.106.50:11000/apps/4c8d65d7-216b-46b4-abb7- 52c1a0c7123f/服务/b3a1db8d-b82c-403e-8d89-9709b5068482/分区/0a2bdc5c-471b-4acc-a093-6332c8ce1d5d/replicas/131727365611181690s,LSN:125, GlobalCommitedLsn:125,PartitionKeyRangeId:,IsValid:True,StatusCode:0,IsGone :False,IsNotFound:True,IsInvalidPartition:False,RequestCharge:1,ItemLSN:-1,资源类型:集合,操作类型:读取[6/26/2018 3:24:49 PM] 响应时间:2018-06-26T15:24:48.5014600Z,StoreReadResult:StorePhysicalAddress:rntbd://10.98.108.179:11000/apps/4c8d65d7-216b-46b4-abb7- 52c1a0c7123f/服务/b3a1db8d-b82c-403e-8d89-9709b5068482/分区/0a2bdc5c-471b-4acc-a093-6332c8ce1d5d/replicas/131727455073557671s,LSN:125, GlobalCommitedLsn:125,PartitionKeyRangeId:,IsValid:True,StatusCode:0,IsGone :False,IsNotFound:True,IsInvalidPartition:False,RequestCharge:1,ItemLSN:-1,资源类型:集合,操作类型:读取[6/26/2018 3:24:49 PM],SDK:Microsoft.Azure.Documents.Common/2.0.0.0。

我已从 azure 门户复制并粘贴了整个主连接字符串。我已检查多次以确保找到数据库和集合名称。

出于安全原因,修改了“数据库”和“集合”。

我做错了什么?

最佳答案

为了使函数触发器工作,它需要创建一个名为 Leases 的集合。您可以自己执行此操作,或者更新 CosmosDBTrigger 触发器以告诉函数主机,如果它不存在,它可以创建它

[CosmosDBTrigger(
数据库名称:“数据库”,
集合名称:“集合”,
连接字符串设置 = "DBConn",
LeaseCollectionName = "租赁",
CreateLeaseCollectionIfNotExists = true)]

您可以在此处查看更多信息:https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-cosmosdb#trigger---c-example

关于azure - COSMOS DB 触发器 Azure 函数更改源错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51046553/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com