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

添加元数据以在 Azure 逻辑应用的工作流中查找 B2B 项目

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

为了帮助你的工作流快速找到要在运行时使用的正确的企业到企业 (B2B) 项目,你可以将自定义元数据作为键值对添加到贸易伙伴、协议、架构和映射等项目中。 制品的自定义元数据可帮助你完成以下目标或任务:

  • 强制实施命名约定。
  • 支持重复使用并避免重复定义。
  • 将有效负载路由到正确的编码或解码步骤。
  • 通过开发、测试和生产提供对移动项目的更多控制。
  • 在没有硬编码逻辑的情况下应用正确的验证或转换。
  • 促进跟踪、可跟踪性、治理和审核。
  • 轻松从 BizTalk Server 迁移到 Azure 逻辑应用。

以下列表基于项目类型介绍了有用的元数据示例:

项目 Metadata
合作伙伴 - 业务标识,如 AS2、X12 或 EDIFACT
- 交易名称
- 联系和支持信息
- 证书指纹
- 允许的协议
- 预期确认,如 MDN、TA1 或 997
Agreement - 主方和客方合作伙伴
- 加密或签名策略
- 重试和超时规则
- 内容类型
- 批处理设置
- 确认行为
架构和映射 - 消息类型
-版本
-Namespace
- 源代码管理 URL
- 更改备注
- 协议或工作流将这些项目用于的兼容性矩阵

为了跟踪目的和馈送 B2B 跟踪表或仪表板,有用的元数据包括相关属性,例如交换号、组号、事务集 ID 以及工作流运行 ID、合作伙伴和协议 ID、状态和时间戳。

本指南演示如何将元数据添加到集成帐户中的工件,使用名为Integration Account的内置操作Integration account artifact lookup查找工件,并在工作流中引用工件的元数据。

先决条件

  • 一个 Azure 帐户和订阅。 获取免费的 Azure 帐户

  • 想要在其中获取和使用项目元数据的逻辑应用资源和工作流。

    你的工作流可以从任何触发器开始,并且需要一个在检索后使用元数据的操作。 此示例使用名为“收到 HTTP 请求时”的请求触发器,该触发器可以从传入的 HTTPS 请求动态传入项目名称。

    有关详细信息,请参见:

  • 集成帐户资源,其中包含要向其中添加元数据的项目。

    可以将自定义元数据添加到以下工件:

    本指南的示例使用名为 TradingPartner1 的合作伙伴项目。

    • 集成帐户和逻辑应用资源必须存在于同一 Azure 订阅和 Azure 区域中。

    • 开始使用集成帐户项目查找操作之前,必须将消费逻辑应用标准逻辑应用链接到集成帐户。 可以将集成帐户链接到多个“消耗型”或“标准型”逻辑应用资源,以共享相同的工件。

向工件添加元数据

按照以下步骤在集成帐户中添加 B2B 项目的自定义元数据。

  1. Azure 门户中,转到集成帐户资源。

  2. 在资源边栏的 “设置”下,选择项目类别。

    本示例将元数据添加到贸易伙伴工件,因此在此情况下,示例选择了 合作伙伴

  3. 在项目类别页上,选择项目,然后选择 “编辑”。

    以下示例显示了名为 TradingPartner1 的合作伙伴项目的编辑页面。

    屏幕截图显示了 Azure 门户、集成帐户和合作伙伴页,其中已选择“TradingPartner1”和“编辑”按钮。

  4. “元数据”下的 “键 ”和 “值 ”列中,输入自定义元数据作为键值对。 完成后,请选择“确定”。

    以下示例将示例元数据显示为键值对:

    屏幕截图显示了 TradingPartner1 的“编辑”窗格,其中突出显示了三个键值对,并选择了“确定”。

  5. 若要在项目的 JavaScript 对象表示法(JSON)定义中查看此元数据,请在 “编辑”旁边改为选择“ 编辑为 JSON ”。

    屏幕截图显示了 TradingPartner1 的 JSON 代码,其中突出显示了三个键值对。

查找工件

按照以下步骤在集成帐户中查找项目和关联的元数据。 该示例查找特定贸易合作伙伴项目。

  1. Azure 门户中,打开你的逻辑应用资源。 在设计器中打开工作流。

  2. 在设计器中,按照以下常规步骤添加集成帐户内置动作集成帐户工件查找,该动作查找指定的工件和元数据。

  3. 请根据您的工作流类型为工件提供以下信息:

    参数 必选 价值 Description
    - 消耗: artifactName

    - 标准: 项目名称
    是的 < artifact-name> 项目名称,可以输入为硬编码的名称,或者输入为工作流中触发器或上一个操作的动态输出。
    - 消耗量: artifactType

    - 标准: 项目类型
    是的 协议映射合作伙伴架构 项目类型。
    1. 若要提供项目名称作为触发器或上一步骤的输出,请执行以下步骤:

      1. artifactNameArtifact 名称 框中选择,然后选择闪电图标以打开动态内容列表。

      2. 在动态列表中的触发器或操作名称下面,选择指定项目名称的输出。

    2. 对于 artifactType项目类型,请选择项目类型。 在此示例中,类型为 Partner

      屏幕截图显示了集成帐户项目查找作,其中突出显示了项目类型和项目名称参数。

  4. 保存工作流。

在工作流中引用工件元数据

按照以下步骤在工作流中使用获取到的工件元数据。 该示例引用上一部分中检索到的项目中的元数据。

  1. 在设计器的 集成帐户项目查找 操作下,按照以下 常规步骤 添加您想要的操作。

    此示例继续执行 HTTP 内置作,该作将来自工作流的 HTTP 请求发送到指定的目标。

  2. 在操作窗格中,提供有关如何使用工件元数据的信息。

    此示例使用 routingUrl 元数据作为 HTTP 请求目标。 下表指定此示例中 HTTP 作的示例值:

    参数 必选 价值 Description 示例值
    URI 是的 < destination-URL> 要向其发送请求的终结点 URL。 若要引用合作伙伴的 routingUrl 元数据,请执行以下步骤:

    1. 在 URI 框中选择。

    2.选择函数图标以打开表达式编辑器。

    3. 在编辑器中,根据工作流类型输入类似于以下示例的表达式:

    消费

    outputs('Integration_Account_Artifact_Lookup')?['properties']?['metadata']['routingUrl']

    Standard

    outputs('Integration_account_artifact_lookup')?['properties']?['metadata']['routingUrl']

    4.完成后,选择“ 添加”。
    方法 是的 < HTTP-method> 要运行的 HTTP 操作。 此示例使用 GET 作。
    Headers < header-values> 要通过 HTTP 操作传递的触发器中的任何标头输出。 若要从触发器标头传入 Content-Type 值,在 “标头”下,请对第一行执行以下步骤:

    1. 在第一列中,输入 Content-Type 为标题名称。

    2. 第二列中,使用表达式编辑器输入以下表达式作为标头值:

    triggeroutputs()?['headers']['Content-Type']

    若要从触发器标头传入 Host 值,在 “标头”下,请对第二行执行以下步骤:

    1. 在第一列中,输入 Host 为标题名称。

    2. 第二列中,使用表达式编辑器输入以下表达式作为标头值:

    triggeroutputs()?['headers']['Host']
    正文 < body-content> 通过HTTP操作的body属性传递的任何其他内容。 若要将工件 properties 的值传递给 HTTP 操作,请执行以下步骤:

    1. 在 正文 框中选择,然后选择闪电图标以打开动态内容列表。 如果未显示任何输出,请选择“ 查看更多”。

    2. 在动态内容列表中,在 “集成帐户项目查找”下,选择“ 属性”。

    对于示例方案,HTTP 操作使用以下示例值:

    屏幕截图显示了设计器、HTTP操作和HTTP操作信息窗格,其中示例值被突出显示。

  3. 若要确认 HTTP作中的信息,请查看工作流的基础 JSON 定义。 在设计器工具栏上,选择 “代码”视图

    此时会显示工作流的基础 JSON 定义,例如:

    屏幕截图显示了 HTTP作的 JSON 定义,其中突出显示了正文、标头、方法和 URI 属性。

  4. 返回到设计器。 在代码视图工具栏上,选择 “设计器”。

    在设计器中输入的任何表达式现在都已解析,例如:

    设计器的屏幕截图,其中“URI”、“标头”和“正文”表达式现在都显示为已解析。