将参数化值与Azure Logic App

时间:2018-02-10 20:34:03

标签: azure-logic-apps

我正在使用Azure LogicApp,其中工作流具有固定值。我们的DevOps工具是VSTS(Visual Studio Team Services),因为我们需要处理多个环境,所以我必须进行一些重构(使用参数化值),因此在VSTS中我们将能够提供特定于环境的值。

感谢我在互联网上找到的2个网站,我设法理解有3种参数:

enter image description here 为了解我的问题,这是我的行动:

enter image description here 我希望在参数值中包含我的字符串“/ work / documents”。因此,在“代码视图”中,我设法使用参数而不是硬编码值:

          "triggers": {
        "When_a_file_is_added_or_modified": {
          "type": "ApiConnection",
          "inputs": {
            "host": {
              "connection": {
                "name": "@parameters('$connections')['sftp_1']['connectionId']"
              }
            },
            "method": "get",
            "path": "/datasets/default/triggers/onupdatedfile",
            "queries": {
              "folderId": "@{parameters('pathToRootFolder')}"
            }
          },
          "recurrence": {
            "frequency": "Hour",
            "interval": 1
          }
        }
      }

在我的parameters.json中:

    "sftp_1_path_root_folder": {
        "value": "/work/documents"
    }

以下是Visual Studio中的最终结果:

enter image description here

我错过了什么吗?为什么Designer中没有显示该值?感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

当您在Logic App定义中使用Logic Apps参数时,它们不会在设计时解析,而是在运行时解析。因此,你不应该在设计师中看到它们。如果运行工作流,则应该能够在运行时查看实际值。

如果要在部署时解析这些参数,则需要使用ARM参数直接从ARM模板编写到工作流定义中。这是可能的,但在某些情况下,它可能会变得有点复杂。这就是为什么我更喜欢使用here所述的逻辑应用参数。