首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ARM模板无法设置$connections

ARM模板无法设置$connections
EN

Stack Overflow用户
提问于 2020-07-24 23:23:32
回答 1查看 197关注 0票数 0

我已经在Visual Studio项目中创建了一个连接到slack的ARM模板。当我在Azure门户中连接到slack时-一切正常。我的slack连接已获得授权,并且可以正常工作。我的问题是部署和设置$connections

这是我的模板

代码语言:javascript
复制
{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    <template-params>
  },
  "variables": {
    "slack": "[concat(parameters('appPrefix'), '-slack-', parameters('environment'))]"
  },
  "resources": [
    {
      "type": "Microsoft.Web/connections",
      "apiVersion": "2016-06-01",
      "location": "[resourceGroup().location]",
      "name": "[variables('slack')]",
      "properties": {
        "api": {
          "id": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Web/locations/', resourceGroup().location, '/managedApis/slack')]"
        },
        "displayName": "Slack",
        "parameterValues": {}
      }
    },
    {
      "name": "[parameters('logicAppName')]",
      "type": "Microsoft.Logic/workflows",
      "location": "[parameters('logicAppLocation')]",
      "tags": {
        "displayName": "LogicApp"
      },
      "apiVersion": "2016-06-01",
      "properties": {
        "definition": {
          "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
          "actions": {
            "Collecting_went_wrong": {
              "inputs": {
                "host": {
                  "connection": {
                    "name": "@parameters('$connections')['slack']['connectionId']"
                  }
                },
                "method": "post",
                "path": "/chat.postMessage",
                "queries": {
                  "channel": "<channel>",
                  "text": "<message>",
                  "username": "<user>"
                }
              },
              "runAfter": {},
              "type": "ApiConnection"
            }
          },
          "parameters": {
            "$connections": {
              "type": "object",
              "defaultValue": {
              }
            }
          },
          "triggers": {
           <trigger>
          }
        },
        "parameters": {
          "$connections": {
            "value": {
              "slack": {
                "id": "[resourceId('Microsoft.Web/connections', variables('slack'))]",
                "connectionId": "[resourceId('Microsoft.Web/connections', variables('slack'))]",
                "connectionName": "slack"
              }
            }
          }
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.Web/connections', variables('slack'))]"
      ]
    }
  ],
  "outputs": {}
}

“有趣”的部分是在部署过程中验证模板:

代码语言:javascript
复制
New-AzureRmResourceGroupDeployment : 17:08:51 - Resource Microsoft.Logic/workflows 'reporting-reminder-logic-app-dev' 
failed with message '{
  "error": {
    "code": "ConnectionsParameterInvalid",
    "message": "The provided API connection parameter 'slack' is missing the required property 'id'."
  }
}'

我真的很困惑。

我尝试将它部署为connection,并添加了$connection参数定义,部署完成了。然而,当我在模板参数中将connection更改为$connections时,Azure门户向我抛出了相同的验证错误。

你知道我哪里做错了吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-08-08 19:19:51

这个问题是关于微软/Web.Connections的资源、->属性、-> ID和slack -> connection中的不同id。一旦这些连接ids相同,验证就通过了。

所以这只是一个令人困惑的验证消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63076631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档