Azure Cosmos DB 和 Azure Functions 的基于事件的无服务器体系结构

适用范围: NoSQL

Azure Functions 提供连接到更改源的最简单方法。 可以创建小型的反应式 Azure Functions,每当 Azure Cosmos DB 容器的更改源中出现新事件时,就会将其触发。

Serverless event-based Functions working with the Azure Functions trigger for 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 函数:

在本地运行触发器

可以使用 Azure Cosmos DB 模拟器在本地运行 Azure 函数,以创建和开发基于事件的无服务器流,而无需使用 Azure 订阅,也不会产生任何费用。

后续步骤

现在,可以通过以下文章继续详细了解更改源: