当前位置: 首页 > 知识库问答 >
问题:

CosmosDB 更改源、租约和 azure 函数

穆城
2023-03-14

我最近开始使用Azure CosmosDB和函数。在阅读文档 https://docs.microsoft.com/pl-pl/azure/cosmos-db/change-feed-processor 时,我发现了一些对我来说很难理解的东西。是否真的可以在许多函数之间共享更改源,以便它们将由一个相同的数据库操作触发?什么是租约收集,它解决了什么问题。租赁的目的是什么?我想对这些术语进行基本解释。在我提供的链接中,据说可以在两个函数之间共享租约,但随后又说租约对象具有所有者属性。

共有1个答案

曾阳飙
2023-03-14

是的,您可以由同一更改触发多个函数。但是,这要求您为它们设置单独的租约。它们可以位于同一租约集合中,但需要不同的前缀。这是有一个设置的。在 Azure 函数中,它是 leaseCollectionPrefix 属性属性。

租赁实际上只是与Cosmos DB中的任何其他文档一样的文档,用于跟踪此更改提要处理器的消费者并保存一些检查点,以便他们知道如果您的应用程序重新启动,在哪里继续。

 类似资料:
  • 下面是Cosmos数据库更改提要触发器azure函数的应用程序洞察记录的异常: Cosmos数据库更改提要触发Azure功能:

  • 我们已实现一个包含多个 Azure 函数的服务。HttpTrigger 函数会将记录插入到 Cosmos DB 中。然后,Cosmos DB 触发器函数将在触发时处理记录。有时,DB 触发器函数的作业可能需要相当长的时间。如果在 DB 触发器函数与上一个作业一起运行时将新记录插入到 Cosmos DB 中,则新记录不会导致触发该事件。 我们如何防止这种情况发生?谢谢!

  • 我在azure中有一个设置,在一个资源组中组合了一组资源。我希望我的服务位于西欧,因此我的所有资源都在那里(如果可能) 我刚刚注意到,当创建资源组时,我不小心使用了美国西部。 因此,当前的设置是: 资源组1(美国西部) 应用服务1(西欧) 应用服务2(西欧) SQL服务器(西欧) 存储帐户(西欧) (西欧) 我是否可以更改资源组的位置而不必创建新组并每次迁移? 也许更重要的是:我应该改变位置还是不

  • 我一直在寻找一种技术,使用浏览器中的代码编辑器,使用Azure函数删除Cosmos数据库中的项目。我不想在VS上使用本地开发的代码,原因有很多。 这里提供了我使用的代码,我使用的是带有CosmosDB输入和输出绑定的HttpTrigger。它们的名称非常明显(inputDocument,outputDocument)。 这段代码在从db读取项目和编写新文档方面工作得非常好,但是我希望能够删除单个项

  • 下面是我的function.json 有什么想法可以摆脱这个“exception:attributeError:module'azure.functions'没有属性'in'”错误吗?