Leer en inglés

Compartir a través de

使用 Azure 逻辑应用中的工作流在 Azure Cosmos DB 中访问、创建或处理文档

适用范围:Azure 逻辑应用(消耗型 + 标准型)

通过 Azure 逻辑应用中的工作流,可以连接到 Azure Cosmos DB 并使用 Azure Cosmos DB 连接器处理文档。 例如,可以使用连接器操作来创建、更新、读取、查询或删除文档。

可以使用托管连接器操作(在全局多租户 Azure 中托管、管理和运行)从消耗和标准逻辑应用工作流连接到 Azure Cosmos DB。 对于标准工作流,Azure Cosmos DB 还提供与单租户 Azure 逻辑应用运行时一起运行的内置操作 内置操作提供更好的性能、更高的吞吐量,有时还提供不同的功能。 例如,在标准工作流中,可以使用内置触发器来监视 Azure Cosmos DB 容器以获取新项或更新的项。 可以将 Azure Cosmos DB 操作与工作流中的其他操作合并,来支持事件溯源和常规数据处理等方案。

限制

  • 目前,只有标准工作流中的有状态工作流既可使用托管连接器操作,也可使用内置操作。 无状态工作流只能使用内置操作。

  • Azure Cosmos DB 连接器仅支持使用 Azure Cosmos DB for NoSQL 创建的 Azure Cosmos DB 帐户。

先决条件

  • Azure 帐户和订阅。 如果没有 Azure 订阅,请注册试用版 Azure 订阅

  • 一个 Azure Cosmos DB 帐户

  • 要从中访问 Azure Cosmos DB 帐户的逻辑应用工作流。 若要使用 Azure Cosmos DB 内置触发器,需要从空白工作流开始。

连接器技术参考

  • 有关 Azure Cosmos DB 托管连接器操作的参考信息(例如触发器、操作和限制),请参阅托管连接器的参考页

  • 有关 Azure Cosmos DB 内置操作的参考信息(例如触发器、操作和限制),请参阅内置操作参考页

添加 Azure Cosmos DB 触发器

在 Azure 逻辑应用中,每个工作流都必须从触发器开始,该触发器在发生特定事件或特定条件得到满足的情况下触发。

如果使用的标准工作流,可以使用名为“创建或修改项时”的内置触发器,该触发器基于 Azure Cosmos DB 更改源设计模式 此触发器不适用于消耗工作流。

消耗工作流没有可用的 Azure Cosmos DB 触发器。 因此,请添加适用于方案的触发器。

添加 Azure Cosmos DB 操作

在 Azure 逻辑应用中,操作是指工作流中紧跟在某个触发器或另一操作后面执行的一个步骤。 Azure Cosmos DB 连接器提供针对消耗和标准工作流的操作。 以下示例演示如何使用创建或更新文档的操作。

若要将 Azure Cosmos DB 操作添加到消耗工作流,请执行以下步骤:

  1. Azure 门户中,打开设计器中的消耗工作流。

  2. 如果工作流为空白,请添加所需的任何触发器。

    此示例以 收到 HTTP 请求 的触发器开头。

  3. 在要在其中添加 Azure Cosmos DB 操作的触发器或操作下,按照以下常规步骤添加所需的 Azure Cosmos DB 操作

    此示例使用名为“创建或更新文档(V3)”的操作。

  4. 如果系统提示你提供连接详细信息,现在请创建与 Azure Cosmos DB 帐户的连接

  5. 在操作信息窗格的“参数”选项卡上,提供以下必要信息:

    参数 需要 描述
    Azure Cosmos DB 帐户名称 < Cosmos-DB-account-name> Azure Cosmos DB 帐户的帐户名称。
    数据库 ID < Cosmos-DB-database-name> 要连接的数据库。
    集合 ID < Cosmost-DB-container-name> 要查询的容器。
    公文 <JSON-document 要创建的 JSON 文档。 此示例使用触发器输出中的请求正文。

    提示:如果 HTTP 触发器的“正文”令牌未显示在可供添加的动态内容列表中,请在触发器名称旁边选择“查看更多” 。

    注意:确保正文是格式标准的 JSON,并且至少包含 属性以及文档的分区键属性。 如果存在具有指定 id 和分区键的文档,则会更新该文档。 否则会创建一个新文档。

    例如:

    屏幕截图显示了 Azure 门户、消耗工作流设计器以及名为“创建或更新文档 (V3)”的操作。

  6. 若要添加任何其他可用参数,请打开“高级参数”列表。

  7. 根据需要配置任何其他参数或设置。

  8. 在设计器工具栏上选择“保存”。

  9. 测试工作流,确认操作在指定的容器中创建文档。

连接到 Azure Cosmos DB

当你添加连接到服务或系统的触发器或操作时,如果没有现有连接或活动连接,Azure 逻辑应用会提示你提供连接信息,这些信息因连接类型而异,例如:

  • 要用于连接的名称
  • 帐户凭据
  • 服务器或系统名称
  • 一个连接字符串
  • 要使用的身份验证类型

在配置 Azure Cosmos DB 触发器Azure Cosmos DB 操作之前,需要连接到数据库帐户。

对于消耗工作流,Azure Cosmos DB 连接需要以下信息:

参数 需要 描述
连接名称 < 连接名称> 要用于连接的名称。
身份验证类型 <connection-type 要使用的认证类型。 此示例使用“访问密钥”。

- 如果选择“访问密钥”,请提供创建连接所需的其余属性值。

- 如果选择“Microsoft Entra ID 集成”,则不需要其他属性值,但必须按照 Microsoft Entra 身份验证和 Azure Cosmos DB 连接器中的步骤配置连接。

- 若要设置托管标识,请参阅使用 Azure 逻辑应用中的托管标识对 Azure 资源的访问和连接进行身份验证
帐户 ID <帐户 ID> 用于此连接的 Azure Cosmos DB 帐户的名称。
Azure Cosmos DB 帐户的访问密钥 <access-key 用于此连接的 Azure Cosmos DB 帐户的访问密钥。 此值是读写密钥或只读密钥。

注意:若要查找密钥,请转到 Azure Cosmos DB 帐户页。 在帐户菜单中的“设置”下,选择“密钥”。 复制其中一个可用的密钥值。

Nota

创建连接后,如果要改用不同的 Azure Cosmos DB 连接,或者要创建一个新连接,请在触发器或操作信息窗格的“参数”选项卡中选择“更改连接”。

Azure Cosmos DB 内置操作最佳做法

从查询项操作中获取可迭代结果

标准工作流中的查询项内置操作具有许多可用于后续操作的动态内容输出。 若要获取可迭代对象形式的查询结果项或项元数据,请遵循以下步骤:

  1. Azure 门户上的设计器中打开标准工作流。

  2. 如果工作流为空白,请添加所需的任何触发器。

    此示例开始使用“定期”触发器

  3. 在要在其中添加 Azure Cosmos DB 操作的触发器或操作下,按照以下常规步骤添加名为“查询项”的 Azure Cosmos DB 操作

  4. 如果系统提示你提供连接详细信息,请创建与 Azure Cosmos DB 帐户的连接

  5. 在操作信息窗格的“参数”选项卡上,提供以下必要信息:

    parameters 需要 描述
    数据库 ID <database-ID 要连接的数据库。
    容器 ID <container-ID 要查询的容器。
    SQL 查询 <sql-query 请求的 SQL 查询。

    下面的示例展示了“查询项”操作:

    屏幕截图显示了 Azure 门户、标准工作流设计器以及名为“查询项”的 Azure Cosmos DB 内置操作。

  6. 根据需要配置任何其他参数或设置。

  7. 在“查询项”操作下,按照以下常规步骤添加要在返回的所有查询项上运行的操作。

    此示例使用名为“删除项”的 Azure Cosmos DB 内置操作。

  8. 在“删除项”操作中,可以按照以下步骤访问“查询项”操作的输出:

    1. 在任意输入字段中选择以显示可用选项。

    2. 选择闪电图标打开动态内容列表。

    3. 从列表中的“查询项”部分,选择所需的输出,或选择“查看更多”获取更多输出。

      例如,可以选择“响应项项”,使用查询结果中的 ID 填充“项 ID”字段。

      选择“响应项项”后,会自动添加“对每一个”操作以遍历所有查询结果。 “对每一个”循环包含“删除项”操作。

      屏幕截图显示了 Azure 门户、标准工作流设计器以及名为“删除项”的 Azure Cosmos DB 内置操作。

    4. 向循环中添加其他任何想要添加的操作。

  9. 在设计器工具栏上选择“保存”。

  10. 测试工作流,确认操作是否返回所需的输出。