azure - 一个可以侦听所有容器的 Cosmos DB 更改源的 Azure 函数
问题描述
现在我有一个 Cosmos DB,它有三个不同的容器,因此我使用了三个不同的函数来监听来自这个 Cosmos DB 的 Change Feed 事件。
将来我的容器数量将从 3 个增加到 100 个。
那么,是否有可能拥有一个函数来监听所有容器中的所有更改,并且可以检测来自哪些容器的更改?
解决方案
简而言之:没有。
Azure Cosmos DB 中的更改源是按发生顺序对容器进行更改的持久记录。Azure Cosmos DB 中的更改源支持通过侦听 Azure Cosmos容器的任何更改来工作。
和
更改源可用于容器内的每个逻辑分区键,并且可以分布在一个或多个消费者之间以进行并行处理。
Azure Cosmos DB 中有关更改源的文档明确指出,更改源适用于一个特定容器。
但是,您可能可以采取不同的方法来解决您的问题。最重要的问题是:您要解决的实际问题是什么?
如果您需要使用函数处理 Cosmos DB 中的更改,我可以想象处理更改的逻辑对于每种类型的数据可能(将)不同。所以对于每个容器。如果不是这种情况,数据不必位于不同的容器中?
一种选择可能是创建一个计时器触发的函数,该函数将使用拉模型读取更改提要。这使您能够循环该函数中的容器并准备处理每个容器的更改(例如,通过将信息放入队列或使用具有扇出/扇入模式的持久函数)。
推荐阅读
- angular - 类型'可观察的
' 不可分配给类型 'Observable ' - python - 从元组列表中返回有组织的列表
- vba - 将分组图像复制为图片并通过vba将其裁剪为ppt
- python - 熊猫在列名中添加可选后缀作为函数中的参数
- javascript - 无法抓取 Javascript 网站 - API 调用/XHR 请求
- vue.js - 在 Vue js 中强制方法调用后如何从父级获取更新的道具?
- python - 为什么导入在这个 ROS python 脚本中有效
- set - 如何从 cplex 的集合中声明一个子集?
- mongodb - $regex 和 $text 一起在 $or 中
- css - 有 a 类而不是 b 类并且是第 n 个孩子