Azure Cosmos DB 和 Azure Functions 的基于事件的无服务器体系结构
适用范围: NoSQL
Azure Functions 提供连接到更改源的最简单方法。 可以创建小型的反应式 Azure Functions,每当 Azure Cosmos DB 容器的更改源中出现新事件时,就会将其触发。
有了适用于 Azure Cosmos DB 的 Azure Functions 触发器,你就可以利用更改源处理器的缩放与可靠事件检测功能,无需维护任何辅助角色基础结构。 只需专注于 Azure 函数的逻辑,而无需考虑事件溯源管道的剩余。 甚至可以将触发器和任何其他 Azure Functions 绑定搭配使用。
注意
Azure Functions 触发器使用最新版本更改源模式。目前,仅支持将适用于 Azure Cosmos DB 的 Azure Functions 触发器与 API for NoSQL 配合使用。
要求
若要实现基于事件的无服务器流,需要:
- 受监视的容器:受监视的容器是正在受到监视的 Azure Cosmos DB 容器,它存储从中生成更改源的数据。 对受监视容器的任何插入、更新都会反映在容器的更改源中。
- 租约容器:租约容器维护多个动态无服务器 Azure 函数实例的状态,并启用动态缩放。 可以使用适用于 Azure Cosmos DB 的 Azure Functions 触发器自动创建租用容器。 也可以手动创建租用容器。 若要自动创建租用容器,请在配置中设置 CreateLeaseContainerIfNotExists 标记。 分区的租约容器需要包含
/id
分区键定义。
创建适用于 Azure Cosmos DB 的 Azure Functions 触发器
现在支持在所有 Azure Functions IDE 和 CLI 集成中创建包含适用于 Azure Cosmos DB 的 Azure Functions 触发器的 Azure 函数:
面向 Visual Studio 用户的 Visual Studio 扩展。
面向 Visual Studio Code 用户的 Visual Studio Code 扩展。
最后是适用于跨平台 IDE 不可知体验的 Core CLI 工具。
在本地运行触发器
可以使用 Azure Cosmos DB 模拟器在本地运行 Azure 函数,以创建和开发基于事件的无服务器流,而无需使用 Azure 订阅,也不会产生任何费用。
后续步骤
现在,可以通过以下文章继续详细了解更改源: