【问题标题】:Error while using a parameter within the id of a called azure function from a logic app在逻辑应用调用的天蓝色函数的 id 中使用参数时出错
【发布时间】:2018-06-18 13:33:06
【问题描述】:

我在不同阶段有不同的天蓝色功能, 当我部署我的逻辑应用程序时,我想配置调用什么 azure 函数。

我添加了一个新参数,名为:

"unzip_gzip_path": {
      "value": "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/XXXTest/providers/Microsoft.Web/sites/FunctionApp201806XXXXXXXX/functions/Function1"
    } 

并像这样在手臂模板中使用他:

"$functions_paths": {
            "value": {
              "unzip_gzip": {
                "path": "[parameters('unzip_gzip_path')]"
              }
            }
          }

Azure 函数调用如下所示:

"Function1":{
                      "type": "Function",
                      "inputs": {
                        "body": "@items('For_each_attachment')?['ContentBytes']",
                        "method": "POST",
                        "function": {
                          "id": "@parameters('$functions_paths')['unzip_gzip']['path']"
                        }
                      },
                      "runAfter": {}
                    }

现在我得到了错误

15:31:34 - 15:31:33 - Resource Microsoft.Logic/workflows 'DMARCReportingProcessingLogicApp' failed with message '{
15:31:34 -   "error": {
15:31:34 -     "code": "LinkedInvalidPropertyId",
15:31:34 -     "message": "Property id '@parameters('$functions_paths')['unzip_gzip']['path']' at path 'properties.definition.actions.For_each_attachment.actions.Condition.actions.Function1.inputs.function.id' is invalid. Expect fully qualified resource Id that start with '/subscriptions/{subscriptionId}' or '/providers/{resourceProviderNamespace}/'."
15:31:34 -   }
15:31:34 - }'

难道是我不能在函数位置使用参数?

【问题讨论】:

    标签: azure-functions azure-logic-apps


    【解决方案1】:

    目前该函数的资源ID只能在部署时设置,不能在运行时设置。设置它的正确方法是作为 ARM 参数,而不是逻辑应用参数(如果有意义的话)。

    Here's an example 之一是为部署而参数化的。

    { "Azure_Function": { "type": "Function", "inputs": { "body": "@triggerBody()", "function": { "id": "[resourceId('Microsoft.Web/sites/functions', parameters('functionAppName'), variables('functionName'))]" } }, "runAfter": {} }

    【讨论】:

    • 您好 Jeff,如果按照此处的要求支持使用 Logic Apps 参数,那就太好了。 feedback.azure.com/forums/287593-logic-apps/suggestions/… 这确实有助于更轻松地为逻辑应用准备 ARM 模板,干杯:)
    • 一般来说,今天的差距是函数在运行时不能是动态的。不确定今天应该可以为部署时带来哪些参数(因为我相信在运行时使它们动态化也正在研究中)
    猜你喜欢
    • 2018-09-07
    • 2021-10-17
    • 2018-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-25
    • 2016-03-25
    相关资源
    最近更新 更多