在 Azure Logic Apps 中添加架构以用于工作流

适用于:Azure Logic Apps(消耗 + 标准)

平面文件和 XML 验证等工作流操作需要架构来执行其任务。 例如,XML 验证操作需要 XML 架构来检查文档是否使用有效的 XML,并具有预定义格式的预期数据。 此架构是一个使用 XML 架构定义 (XSD) 语言的 XML 文档,文件扩展名为 .xsd。 平面文件操作使用架构对 XML 内容进行编码和解码。

本指南演示如何将架构添加到集成帐户。 如果使用标准逻辑应用工作流,还可以直接将架构添加到逻辑应用资源。

先决条件

  • Azure 帐户和订阅。 获取 Azure 帐户

  • 要添加的架构文件。 若要创建架构,可以使用 Visual Studio 2019 和 Azure 逻辑应用企业集成工具扩展

    注意

    不要将此扩展与 BizTalk Server 扩展一起安装。 同时安装这两个扩展可能会导致意外行为。 请确保只安装其中一个扩展。

    在高分辨率监视器上,可能会在 Visual Studio 中遇到地图设计器显示问题。 若要解决此显示问题,请在 DPI 无感知模式下重启 Visual Studio 或添加 DPIUNAWARE 注册表值

  • 根据你使用的是消耗型还是标准型逻辑应用工作流,需要集成帐户资源。 通常,当你想要定义和存储项目以将其用于企业集成和 B2B 工作流时,你需要此资源。

    重要

    若要协同工作,集成帐户和逻辑应用资源必须存在于同一 Azure 订阅和 Azure 区域中。

    • 如果使用消耗型逻辑应用工作流,则需要链接到逻辑应用资源的集成帐户

    • 如果使用标准型逻辑应用工作流,则可以根据以下情况将集成帐户链接到逻辑应用资源和/或直接将架构上传到逻辑应用资源:

      • 如果你已经有一个包含所需工件或要使用的工件的集成帐户,可以将该集成帐户链接到要在其中使用工件的多个标准逻辑应用资源。 这样,就不必将架构上传到每个单独的逻辑应用。 有关详细信息,请查看将逻辑应用资源链接到集成帐户

      • 使用“平面文件”内置连接器,可以选择已上传到您的逻辑应用资源或链接的集成帐户的架构,但不能同时应用于这两者。 然后,您可以在同一逻辑应用资源中跨所有子工作流使用此工件。

      因此,如果你没有集成帐户,或者你不需要集成帐户,可以使用上传选项。 否则,可以使用链接选项。 采用上述任一方式,都可以在同一逻辑应用程序的所有子工作流中使用这些工件。

限制

  • 每个集成帐户的构件数量,例如架构,受到限制。 有关详细信息,请查看 Azure 逻辑应用的限制和配置信息

  • 根据你使用的是消耗型还是标准型逻辑应用工作流,可能存在架构文件大小限制。

  • 通常,当将集成帐户与工作流结合使用时,可以将架构添加到该帐户。 但是,如果要引用或导入未在集成帐户中的架构,则在使用 xsd:redefine 元素时可能会收到以下错误:

    An error occurred while processing the XML schemas: ''SchemaLocation' must successfully resolve if <redefine> contains any child other than <annotation>.'.

    要解决此错误,需要使用元素 xsd:importxsd:include,而不是 xsd:redefine,或使用 URI。

添加架构时的注意事项

  • 如果使用的是消耗型工作流,则必须将架构添加到链接集成帐户。

  • 如果使用的是标准型工作流,则有以下选项:

    • 将您的架构添加到关联的集成账户中。 可以在多个标准型逻辑应用资源及其子工作流之间共享架构和集成帐户。

    • 将您的架构直接添加到您的逻辑应用资源。 但是,只能在同一逻辑应用资源中的子工作流之间共享该架构。

将架构添加到集成帐户

  1. Azure 门户中,使用 Azure 帐户凭据登录。

  2. 在 Azure 主搜索框中,输入“集成帐户”,然后选择“集成帐户”。

  3. 选择要把架构添加到哪个集成帐户。

  4. 在集成帐户资源菜单中的“设置”下,选择“架构”。

  5. 在“架构”窗格工具栏中选择“添加” 。

向逻辑应用添加架构

对于消耗工作流,请根据架构 (.xsd) 文件的大小,遵循相应的步骤来上传不超过 2 MB大于 2 MB 但不超过 8 MB 的架构。

添加不超过 2 MB 的架构

  1. 在“添加架构”窗格中,输入架构的名称。 将“小文件”保持选定状态。 点击位于“架构”框旁边的文件夹图标。 找到并选择要上传的架构。

  2. 完成后,请选择“确定”。

    完成架构上传后,该架构将显示在“架构”列表中。

添加超过 2 MB 的模式

若要添加更大的架构供消耗型工作流使用,可以使用 Azure 逻辑应用 REST API - 架构或将架构上传到 Azure 存储帐户中的 Azure Blob 容器。 添加架构的步骤根据 Blob 容器是否具有公共读取访问权限而异。 因此,首先请执行以下步骤检查 Blob 容器是否具有公共读取访问权限:为 Blob 容器设置公共访问级别

检查容器访问级别

  1. 打开 Azure 存储资源管理器。 在“资源管理器”窗口中展开你的 Azure 订阅(如果尚未展开)。

  2. 展开“存储帐户”{你的存储帐户}>Blob 容器。 选择你的 Blob 容器。

  3. 在 Blob 容器的快捷菜单中,选择“设置公共访问级别”。

    • 如果 Blob 容器至少具有公共访问权限,请选择“取消”,并执行本页稍后所述的步骤:上传到具有公共访问权限的容器

      公共访问

    • 如果 Blob 容器没有公共访问权限,请选择“取消”,并执行本页稍后所述的步骤:上传到没有公共访问权限的容器

      没有公共访问权限

上传到具有公共访问权限的容器

  1. 将架构上传到存储帐户。 在右侧窗口中,选择“上传”。

  2. 完成上传后,选择上传的架构。 在工具栏中,选择“复制 URL”以复制架构的 URL。

  3. 返回 Azure 门户,其中已打开“添加架构”窗格。 输入程序集的名称。 选择“大文件(大于 2 MB)”。

    此时显示的是内容 URI框,而非架构框。

  4. Content URI框中,粘贴模式的 URL。 完成添加架构。

完成架构上传后,该架构将显示在“架构”列表中。 在集成帐户“概述”页的“项目”下,会显示上传的架构 。

上传到不具备公共访问权限的容器

  1. 将架构上传到存储帐户。 在右侧窗口中,选择“上传”。

  2. 上传完成后,为架构生成共享访问签名 (SAS)。 在架构的快捷菜单中,选择“获取共享访问签名”。

  3. 在“共享访问签名”窗格中,选择“生成容器级共享访问签名 URI”“创建”。 生成 SAS URL 后,选择“URL”框旁边的“复制” 。

  4. 返回 Azure 门户,其中已打开“添加架构”窗格。 选择“大文件”。

    此时会显示“内容 URI”框而不是“架构”框。

  5. 在“内容 URI”框中,粘贴前面生成的 SAS URI。 完成添加架构。

完成架构上传后,该架构将显示在“架构”列表中。 在集成帐户“概述”页的“项目”下,会显示上传的架构 。

编辑架构

若要更新现有的架构,必须上传一个新的架构文件,其中包含所要做出的更改。 但是,可以先下载现有的架构进行编辑。

  1. Azure 门户中,打开你的集成帐户(如果尚未打开)。

  2. 在集成帐户菜单中的“设置”下,选择“架构” 。

  3. “架构”窗格打开后,选择你的架构。 若要先下载并编辑架构,请在“架构”窗格工具栏中选择“下载”,然后保存架构 。

  4. 准备好上传已更新的架构时,请在“架构”窗格中选择要更新的架构。 在“架构”窗格工具栏中选择“更新” 。

  5. 找到并选择要上传的已更新架构。

  6. 完成后,请选择“确定”。

    完成架构文件的上传后,更新的架构将显示在“架构”列表中。

删除架构

  1. Azure 门户中,打开你的集成帐户(如果尚未打开)。

  2. 在集成帐户资源菜单中的“设置”下,选择“架构”。

  3. “架构”窗格打开后,请选择你的架构,然后选择“删除” 。

  4. 若要确认删除该架构,请选择“是”。