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

创建要用于 Azure 逻辑应用工作流输入的跨环境参数

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

在 Azure 逻辑应用中,可以通过定义“参数”来提取可能在整个开发、测试和生产环境的工作流中发生变化的值。 使用参数而不是特定于环境的变量时,起初可以更专注于设计工作流,之后再插入特定于环境的变量。

本文介绍如何为多租户消耗型逻辑应用工作流和单租户标准型逻辑应用工作流创建、使用及编辑参数。 你还将了解如何管理环境变量。

有关多租户和单租户 Azure 逻辑应用的详细信息,请查看 Azure 逻辑应用中的单租户与多租户

先决条件

消耗型与标准型逻辑应用工作流的参数

可以使用设计器为消耗型和标准型逻辑应用工作流定义参数。 定义参数后,可以从同一逻辑应用资源内的任意工作流或连接中引用该参数。

在多租户消耗型逻辑应用工作流中使用设计器创建并使用参数后,需要在 Azure 资源管理器模板(ARM 模板)和模板参数文件中定义和设置环境变量。 在此方案中,你必须在部署阶段定义和设置参数。这意味着,即使只需更改一个变量,也必须重新部署逻辑应用的 ARM 模板。

在单租户标准型逻辑应用工作流中,可以通过参数应用设置在运行时和部署时使用环境变量。 应用设置包含同一逻辑应用资源中所有工作流的全局配置选项。 有关详细信息,请查阅 基于逻辑应用编辑单租户的主机和应用设置

重要

当你有敏感信息(例如包含用户名和密码的连接字符串)时,请确保使用可用的最安全身份验证流。 例如,在标准逻辑应用工作流中,不支持 securestringsecureobject 等安全数据类型。 Microsoft 建议尽量使用托管标识对 Azure 资源访问进行身份验证,并分配具有最低所需特权的角色。

如果此功能不可用,请务必通过其他措施(例如可与应用设置一起使用的 Azure 密钥保管库)保护连接字符串。 然后,可以直接引用安全字符串,例如连接字符串和密钥。 与 ARM 模板类似,在部署时可以定义环境变量,可以在逻辑应用工作流定义中定义应用设置。 然后,可以捕获动态生成的基础结构值,例如连接终结点、存储字符串等。 有关详细信息,请参阅Microsoft 标识平台的应用程序类型

但是,应用设置受大小限制,系统无法在 Azure 逻辑应用中的某些区域将其引用。 参数可提供比应用设置范围更广的用例,例如支持较大值和复杂对象。

例如,如果使用 Visual Studio Code 作为在本地运行工作流的本地开发工具,则可以在逻辑应用项目中使用“parameters.json”文件定义参数。 然后,可以从项目“workflow.json”文件内的任意工作流或者项目“connections.json”文件的任意连接对象中引用此参数文件内的任何参数。 下表介绍了几个常见用例:

  • 创建包含所有值,且会在测试时使用这些值的测试参数文件。 部署时,可以将测试参数文件替换为生产参数文件。

  • 将“connections.json”文件的不同部分参数化。 然后,可以检查源代码管理中的 connections.json 文件,之后通过 parameters.json 文件管理连接。

  • 还可以将复杂对象参数化,如 authentication JSON 对象。 例如,将 authentication 对象值替换为包含单个参数表达式的字符串,例如 @parameters('api-auth')

  • 查看和编辑项目“local.settings.json”文件的应用设置。 然后,可以在参数中引用这些应用设置。

注意

一般建议考虑使用参数作为将值参数化的默认方法,而非应用设置。 这样,在需要存储安全密钥或字符串时,可以根据建议从参数中引用应用设置。 如有需要,可以通过使用参数引用应用设置的方式,在解决方案中同时使用这两个选项。

定义、使用和编辑参数

Azure 门户

  1. Azure 门户中,打开逻辑应用工作流。 在“工作流”下,选择并打开设计器中的工作流。

  2. 在设计器工具栏上,选择“参数”。

    显示 Azure 门户、消耗型工作流的设计器,以及设计器工具栏中已选的“参数”的屏幕截图。

  3. 在“参数”窗格中,选择“添加参数”。

  4. 提供以下与待创建参数相关的信息:

    属性 必选 说明
    客户 要创建参数的名称。
    类型 参数的数据类型,例如“数组”、“布尔型”、“浮点”、“整数”、“对象”、“安全对象”、“安全字符串”和“字符串”。
    默认值 参数的默认值。 由于一个位置中不会同时存在工作流逻辑、连接信息和参数值,因此必须指定默认参数值。 设计器必须能够在加载前即能解析参数值。

    重要提示:对于“安全对象”和“安全字符串”数据类型,请避免设置默认值,因为该值将存储为纯文本。
    实际值 实际参数值。

    以下示例介绍了字符串参数的定义:

    显示 Azure 门户、消耗型工作流的设计器,以及带有示例参数定义的“参数”窗格的屏幕截图。

  5. 若要添加更多参数,请选择“添加参数”。 否则请关闭“参数”窗格,但切记保存工作流,以保存新的参数定义。

  6. 若要在同一工作流中引用触发器或操作中的参数,请执行以下步骤:

    1. 在设计器中打开目标工作流,然后展开触发器或操作。

    2. 在要使用参数的属性中,单击该属性编辑框的内部。

    3. 在已打开的动态内容列表的“参数”下,选择之前创建的参数,如下所示:

      显示消耗型工作流的设计器、光标位于属性编辑框的示例操作、已展开的动态内容列表,以及先前已选的已创建参数的屏幕截图。

  7. 若要查看或编辑逻辑应用工作流中的参数,请执行以下步骤:

    1. 在设计器中打开逻辑应用工作流。 在设计器工具栏中选择“参数”。

      “参数”窗格会打开,并显示已在工作流内定义的所有参数。

    2. 编辑相关内容,关闭“参数”窗格,然后保存逻辑应用工作流。