Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure functions 在逻辑应用程序中调用的azure函数的id内使用参数时出错_Azure Functions_Azure Logic Apps - Fatal编程技术网

Azure functions 在逻辑应用程序中调用的azure函数的id内使用参数时出错

Azure functions 在逻辑应用程序中调用的azure函数的id内使用参数时出错,azure-functions,azure-logic-apps,Azure Functions,Azure Logic Apps,我在不同的阶段有不同的azure功能, 当我部署我的逻辑应用程序时,我想配置azure函数的调用 我添加了一个新参数,名为: "unzip_gzip_path": { "value": "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/XXXTest/providers/Microsoft.Web/sites/FunctionApp201806XXXXXXXX/functions/Function1

我在不同的阶段有不同的azure功能, 当我部署我的逻辑应用程序时,我想配置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')]"
              }
            }
          }
"Function1":{
                      "type": "Function",
                      "inputs": {
                        "body": "@items('For_each_attachment')?['ContentBytes']",
                        "method": "POST",
                        "function": {
                          "id": "@parameters('$functions_paths')['unzip_gzip']['path']"
                        }
                      },
                      "runAfter": {}
                    }
Azure函数调用如下所示:

"$functions_paths": {
            "value": {
              "unzip_gzip": {
                "path": "[parameters('unzip_gzip_path')]"
              }
            }
          }
"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 - }'

是否我不能在函数位置中使用参数?

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

为部署而参数化的


{
“Azure_函数”:{
“类型”:“功能”,
“投入”:{
“body”:“@triggerBody()”,
“功能”:{
“id”:“[resourceId('Microsoft.Web/sites/functions',参数('functionAppName'),变量('functionName'))”
}
},
“runAfter”:{}
}

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

为部署而参数化的


{
“Azure_函数”:{
“类型”:“功能”,
“投入”:{
“body”:“@triggerBody()”,
“功能”:{
“id”:“[resourceId('Microsoft.Web/sites/functions',参数('functionAppName'),变量('functionName'))”
}
},
“runAfter”:{}
}

嗨,Jeff,如果按照这里的要求支持使用Logic Apps params,那就太好了。这确实有助于更轻松地为Logic Apps准备ARM模板,干杯:)一般来说,现在的差距是功能在运行时不能是动态的。不确定今天可能实现的部署时间会有哪些参数(值得一提的是,我相信在运行时使其动态化也正在进行中)嗨,Jeff,如果按照这里的要求支持使用Logic Apps params,那就太好了。这将非常有助于更容易地为Logic Apps准备ARM模板,干杯:)一般来说,现在的差距是函数在运行时不能是动态的。不确定今天应该可以实现的部署时参数是什么(我认为让它们在运行时动态也是值得的)