你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

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

适用于: NoSQL

Azure Functions 提供连接到更改源的最简单方法。 可以创建小型 Azure 反应式函数,这些函数会自动在您的 Azure Cosmos DB 容器的更改数据流中的每个新事件上触发。

适用于 Azure Cosmos DB 的 Azure Functions 触发器的无服务器基于事件的函数示意图。

借助 Azure Cosmos DB 的 Azure Functions 触发器,可以使用更改源处理器的缩放和可靠的事件检测功能,而无需维护任何辅助角色基础结构。 只需专注于 Azure 函数的逻辑,而无需考虑事件溯源管道的剩余。 甚至可以将触发器与其他任何 Azure Functions 绑定混合使用。

注意

Azure Functions 触发器使用最新版本的更改源模式。 目前,仅支持将适用于 Azure Cosmos DB 的 Azure Functions 触发器与 NoSQL API 配合使用。

要求

若要实现基于事件的无服务器流,需要:

  • 受监视的容器:受监视的容器是正在受到监视的 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 Code 用户的 Visual Studio Code 扩展
  • 用于独立于跨平台 IDE 体验的核心 CLI 工具

在本地运行触发器

可以使用 Azure Cosmos DB 模拟器在本地运行 Azure Function,以创建和开发无服务器事件流,而无需 Azure 订阅或产生任何费用。

Next steps

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