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

如何保证使用 Azure 函数和 Cosmos DB 触发器至少传递一次

鱼征
2023-03-14

我有一个Azure函数的Cosmos DB触发器。我想将传入文档中的一些数据展平并写入(Azure) SQL Server。

有什么方法可以保证至少一次交货?

我查看了https://hacker noon . com/reliable-Event-processing-in-azure-functions-37054 DC 2d 0 fc,它给出了一些由事件中心事件触发的Azure函数的选项,但我不确定这是否适用于导致触发器触发的CosmosDB changefeed。

在Cosmos DB Change Feed网站https://docs . Microsoft . com/en-us/azure/Cosmos-DB/Change-Feed上声明:

文档的每个更改在更改提要中只显示一次,客户机管理其检查点逻辑。变更提要处理器库提供自动检查点和“至少一次”语义。

这是否意味着它实现了与Event Hub中的检查点系统相同(或类似的东西)?

如果将 CosmosDB 触发器的此流应用于 Azure 函数的此流,断路器模式的工作方式是否相同,如 https://hackernoon.com/reliable-event-processing-in-azure-functions-37054dc2d0fc 末尾所述?

共有1个答案

南门新荣
2023-03-14

Azure函数Cosmos DB触发器基于更改提要处理器库。你将至少从盒子里取出一次。

 类似资料:
  • 我将JSON文档上传到Azure Blob容器中,并编写了Azure Python函数将JSON写入CosmosDB。触发工作正常,但我出错了。下面是Python函数: 以下是function.json文件: 这是我在Azure门户中看到的错误: 结果:失败异常:函数加载错误:无法加载JsonBobTrigger1函数:以下参数在Python中声明,但在function.json中没有声明:{'d

  • 有没有人知道某种方法可以触发具有 Blob 触发器的 Azure 函数?无论是通过API还是使用“测试/运行”功能。 情况是,我需要在测试目的中这样做。目前我看到的是,可以在blob存储中提供要触发的文件的名称。但这是无用的,因为无论如何,将文件放在那里都会触发功能。我想做的是为文件的内容而不是名称提供功能,以避免不必要的操作。 不幸的是,微软在所有相关主题上的留档很差,但这个没有。在这个gith

  • 我是Azure Function应用程序中blob触发器的新手,需要一些帮助。我正在努力寻找有关如何重命名触发该函数的blob的资源。 我有一个函数应用程序,当一个新的blob被上传到容器时触发,文件被处理,我需要一种方法来将其“标记”为已处理,因此我想重命名blob。 这是我的职责: 我该如何重命名该文件?在这种情况下有可能吗?

  • 我试图在Azure portal中开发一个Azure函数(node.js),它在创建文档时由Cosmos DB触发。Azure文档说,要做到这一点,首先我必须从模板中选择“Cosmos db触发器”,但没有模板出现在我的函数中...只出现HTTP an计时器触发器选项。我想使用CosmosDB和IoTHUB作为触发器,输入输出。有没有被忽略的要求?为什么我没有更多的触发器选项?需要指导。

  • 我对azure非常陌生,正在努力处理eventGrid中的python函数触发器。我正在使用从azure为python创建的现成模板,并出现错误。我将共享这些文件。 (init.py) function.json 主机. json 这是我发送给事件网格的数据集 我得到的错误是 也许在上面的某个地方很容易出错,但我找不到。。 提前感谢!

  • 我有以下要求,我想从cosmosDB捕获记录,并将其推送到博客存储。 我已经用azure函数cosmos DB trigger解决了上面的问题(它将捕获对cosmos DB容器中的记录所做的任何更改)。 如何捕捉满负荷? 要求是我必须从cosmos DB容器中获取所有记录并将其推送到博客存储。 所以问题是cosmosDB触发器只有在记录有一定变化时才捕获,那么我该如何实现这个满载。 对于满载,我还