使用 Azure 逻辑应用添加架构以用于工作流
适用范围:Azure 逻辑应用(消耗型 + 标准型)
平面文件和 XML 验证等工作流操作需要架构来执行其任务。 例如,XML 验证操作需要 XML 架构来检查文档是否使用有效的 XML,并具有预定义格式的预期数据。 此架构是一个使用 XML 架构定义 (XSD) 语言的 XML 文档,文件扩展名为 .xsd。 平面文件操作使用架构对 XML 内容进行编码和解码。
本文介绍如何将架构添加到集成帐户。 如果使用标准逻辑应用工作流,还可以直接将架构添加到逻辑应用资源。
先决条件
Azure 帐户和订阅。 如果还没有订阅,请注册 Azure 帐户。
要添加的架构文件。 若要创建架构,可使用以下工具:
Visual Studio 2019 和 Azure 逻辑应用企业集成工具扩展。
Visual Studio 2015 和适用于 Visual Studio 2015 的 Azure 逻辑应用企业集成工具 2.0 扩展。
注意
不要将此扩展与 BizTalk Server 扩展一起安装。 同时具有这两个扩展可能会导致意外行为。 请确保只安装其中一个扩展。
在高分辨率监视器上,可能会在 Visual Studio 中遇到地图设计器显示问题。 若要解决此显示问题,请在 DPI 无感知模式下重启 Visual Studio 或添加 DPIUNAWARE 注册表值。
根据你使用的是消耗型还是标准型逻辑应用工作流,需要集成帐户资源。 通常,当你想要定义和存储项目以将其用于企业集成和 B2B 工作流时,你需要此资源。
重要
若要协同工作,集成帐户和逻辑应用资源必须存在于同一 Azure 订阅和 Azure 区域中。
如果使用消耗型逻辑应用工作流,则需要链接到逻辑应用资源的集成帐户。
如果使用标准型逻辑应用工作流,则可以根据以下情况将集成帐户链接到逻辑应用资源和/或直接将架构上传到逻辑应用资源:
如果你已经有一个包含所需项目或要使用的项目的集成帐户,可以将该集成帐户链接到要在其中使用项目的多个标准型逻辑应用资源。 这样,就不必将架构上传到每个单独的逻辑应用。 有关详细信息,请查看将逻辑应用资源链接到集成帐户。
通过平面文件内置连接器,可选择以前上传到逻辑应用资源或链接集成帐户的架构,但不能同时上传到这两者。 然后,可以在同一逻辑应用资源中跨多个子工作流使用此项目。
因此,如果你没有集成帐户,或者你不需要集成帐户,可以使用上传选项。 否则,可以使用链接选项。 采用上述任一方式,都可以在同一逻辑应用资源中跨所有子工作流使用这些项目。
限制
限制适用于每个集成帐户的项目数,例如架构。 有关详细信息,请查看 Azure 逻辑应用的限制和配置信息。
根据你使用的是消耗型还是标准型逻辑应用工作流,可能存在架构文件大小限制。
如果使用的是标准型工作流,则架构文件大小没有限制。
如果使用的是消耗型工作流,则适用以下限制:
如果架构为 2 MB 或更小,可以直接从 Azure 门户将架构添加到集成帐户。
如果架构大于 2 MB 但不超过架构大小限制,则需要可上传架构的 Azure 存储帐户和 Blob 容器。 然后,若要将该架构添加到集成帐户,可以从集成帐户链接到存储帐户。 对于此任务,下表描述了所需的项:
项 说明 Azure 存储帐户 在此帐户中为架构创建一个 Azure Blob 容器。 了解如何创建存储帐户。 Blob 容器 在此容器中可以上传架构。 稍后在将架构添加到集成帐户时,也需要提供此容器的内容 URI。 了解如何创建 Blob 容器。 Azure 存储资源管理器 借助此工具可以更轻松地管理存储帐户和 Blob 容器。 若要使用存储资源管理器,请选择一个步骤:
- 在 Azure 门户中选择你的存储帐户。 在存储帐户菜单中选择“存储资源管理器”。
- 对于桌面版本,请下载并安装 Azure 存储资源管理器。 然后,遵循存储资源管理器入门中的步骤将存储资源管理器连接到存储帐户。 若要了解详细信息,请参阅快速入门:使用 Azure 存储资源管理器在对象存储中创建 Blob。要添加更大的架构,还可以使用 Azure 逻辑应用 REST API - 架构。 对于标准型工作流,Azure 逻辑应用 REST API 目前不可用。
通常,当将集成帐户与工作流结合使用时,可以将架构添加到该帐户。 但是,如果要引用或导入未在集成帐户中的架构,则在使用
xsd:redefine
元素时可能会收到以下错误:An error occurred while processing the XML schemas: ''SchemaLocation' must successfully resolve if <redefine> contains any child other than <annotation>.'.
要解决此错误,需要使用元素
xsd:import
或xsd:include
,而不是xsd:redefine
,或使用 URI。
添加架构时的注意事项
如果使用的是消耗型工作流,则必须将架构添加到链接集成帐户。
如果使用的是标准型工作流,则有以下选项:
将架构添加到链接集成帐户。 可以在多个标准型逻辑应用资源及其子工作流之间共享架构和集成帐户。
将架构直接添加到逻辑应用资源。 但是,只能在同一逻辑应用资源中的子工作流之间共享该架构。
将架构添加到集成帐户
在 Azure 门户中,使用 Azure 帐户凭据登录。
在 Azure 主搜索框中,输入“集成帐户”,然后选择“集成帐户”。
选择要将架构添加到的集成帐户。
在集成帐户菜单中的“设置”下,选择“架构” 。
在“架构”窗格工具栏中选择“添加” 。
向逻辑应用添加架构
对于消耗工作流,请根据架构 (.xsd) 文件的大小,遵循相应的步骤来上传不超过 2 MB 或大于 2 MB 但不超过 8 MB 的架构。
添加不超过 2 MB 的架构
在“添加架构”窗格中,输入架构的名称。 将“小文件”保持选定状态。 选择“架构”框旁边的文件夹图标。 找到并选择要上传的架构。
完成后,请选择“确定”。
完成架构上传后,该架构将显示在“架构”列表中。
添加 2 MB 以上的架构
若要添加更大的架构供消耗型工作流使用,可以使用 Azure 逻辑应用 REST API - 架构或将架构上传到 Azure 存储帐户中的 Azure Blob 容器。 添加架构的步骤根据 Blob 容器是否具有公共读取访问权限而异。 因此,首先请执行以下步骤检查 Blob 容器是否具有公共读取访问权限:为 Blob 容器设置公共访问级别
检查容器访问级别
打开 Azure 存储资源管理器。 在“资源管理器”窗口中展开你的 Azure 订阅(如果尚未展开)。
展开“存储帐户”>“{你的存储帐户}”>“Blob 容器”。 选择你的 Blob 容器。
在 Blob 容器的快捷菜单中,选择“设置公共访问级别”。
如果 Blob 容器至少具有公共访问权限,请选择“取消”,并执行本页稍后所述的步骤:上传到具有公共访问权限的容器
如果 Blob 容器没有公共访问权限,请选择“取消”,并执行本页稍后所述的步骤:上传到没有公共访问权限的容器
上传到具有公共访问权限的容器
将架构上传到存储帐户。 在右侧窗口中,选择“上传”。
完成上传后,选择上传的架构。 在工具栏中,选择“复制 URL”以复制架构的 URL。
返回 Azure 门户,其中已打开“添加架构”窗格。 输入程序集的名称。 选择“大文件(大于 2 MB)”。
此时会显示“内容 URI”框而不是“架构”框。
在“内容 URI”框中,粘贴架构的 URL。 完成添加架构。
完成架构上传后,该架构将显示在“架构”列表中。 在集成帐户“概述”页的“项目”下,会显示上传的架构 。
上传到没有公共访问权限的容器
将架构上传到存储帐户。 在右侧窗口中,选择“上传”。
上传完成后,为架构生成共享访问签名 (SAS)。 在架构的快捷菜单中,选择“获取共享访问签名”。
在“共享访问签名”窗格中,选择“生成容器级共享访问签名 URI”>“创建”。 生成 SAS URL 后,选择“URL”框旁边的“复制” 。
返回 Azure 门户,其中已打开“添加架构”窗格。 选择“大文件”。
此时会显示“内容 URI”框而不是“架构”框。
在“内容 URI”框中,粘贴前面生成的 SAS URI。 完成添加架构。
完成架构上传后,该架构将显示在“架构”列表中。 在集成帐户“概述”页的“项目”下,会显示上传的架构 。
编辑架构
若要更新现有的架构,必须上传一个新的架构文件,其中包含所要做出的更改。 但是,可以先下载现有的架构进行编辑。
在 Azure 门户中,打开你的集成帐户(如果尚未打开)。
在集成帐户菜单中的“设置”下,选择“架构” 。
“架构”窗格打开后,选择你的架构。 若要先下载并编辑架构,请在“架构”窗格工具栏中选择“下载”,然后保存架构 。
准备好上传已更新的架构时,请在“架构”窗格中选择要更新的架构。 在“架构”窗格工具栏中选择“更新” 。
找到并选择要上传的已更新架构。
完成后,请选择“确定”。
完成架构文件的上传后,更新的架构将显示在“架构”列表中。
删除架构
在 Azure 门户中,打开你的集成帐户(如果尚未打开)。
在集成帐户菜单中的“设置”下,选择“架构” 。
“架构”窗格打开后,请选择你的架构,然后选择“删除” 。
若要确认删除该架构,请选择“是”。