取决于ARM模板中的失败

时间:2015-10-20 09:07:36

标签: azure-resource-manager

我试图通过ARM将我们的网站连接到Application Insights组件,但是在将Intstrumentation Key设置为网站应用程序设置时遇到了麻烦。这有时有效,有时无效。

我的猜测是我有不正确的dependsOn设置。任何人都可以看看我的模板,看看我做错了什么?查看网站资源中类型为“config”的名为“appSettings”的资源。在这里,我应该等待Application Insight的完成,然后阅读Instrumentation Key。

 {
  "name": "[variables('webAppNameFinal')]",
  "type": "Microsoft.Web/sites",
  "location": "[parameters('appServicePlanLocation')]",
  "apiVersion": "2015-04-01",
  "dependsOn": [
    "[concat('Microsoft.Web/serverfarms/', variables('appServicePlanNameFinal'))]"
  ],
  "tags": {
    "[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', variables('appServicePlanNameFinal'))]": "Resource",
    "displayName": "webApp"
  },
  "properties": {
    "name": "[variables('webAppNameFinal')]",
    "serverFarmId": "[variables('appServicePlanNameFinal')]"
  },
  "resources": [
    {
      "apiVersion": "2015-04-01",
      "name": "connectionstrings",
      "type": "config",
      "dependsOn": [
        "[resourceId('Microsoft.Web/Sites', variables('webAppNameFinal'))]",
        "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameFinal'))]"
      ],
      "properties": {
        "Watches": {
          "value": "[concat('Server=tcp:', reference(concat('Microsoft.Sql/servers/', variables('sqlServerNameFinal'))).fullyQualifiedDomainName, ',1433;Database=', variables('sqlDatabaseNameFinal'), ';User ID=', parameters('sqlServerAdminLogin'), ';Password=', parameters('sqlServerAdminLoginPassword'), ';Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;')]",
          "type": "SQLAzure"
        }
      }
    },
    {
      "apiVersion": "2015-08-01",
      "name": "appsettings",
      "type": "config",
      "dependsOn": [
        "[resourceId('Microsoft.Web/Sites', variables('webAppNameFinal'))]",
        "[concat('Microsoft.Insights/components/', variables('applicationInsightsNameFinal'))]"
      ],
      "properties": {
        "Watches.Webjobs.VitecConnect.WatchersExport.Run": "false",
        "ApplicationInsights.InstrumentationKey": "[reference(concat('Microsoft.Insights/components/', variables('applicationInsightsNameFinal'))).InstrumentationKey]"
      }
    },
    {
      "apiVersion": "2015-04-01",
      "name": "web",
      "type": "sourcecontrols",
      "dependsOn": [
        "[resourceId('Microsoft.Web/Sites', variables('webAppNameFinal'))]"
      ],
      "properties": {
        "RepoUrl": "[parameters('gitUrl')]",
        "branch": "[parameters('gitBranch')]"
      }
    },
    {
      "apiVersion": "2015-08-01",
      "name": "web",
      "type": "config",
      "dependsOn": [
        "[resourceId('Microsoft.Web/Sites', variables('webAppNameFinal'))]"
      ],
      "properties": "[variables('siteProperties')]"
    }
  ]
},
{
  "name": "[variables('applicationInsightsNameFinal')]",
  "type": "Microsoft.Insights/components",
  "location": "Central US",
  "apiVersion": "2014-04-01",
  "dependsOn": [ ],
  "tags": {
    "displayName": "Application Insights"
  },
  "properties": {
    "applicationId": "[variables('webAppNameFinal')]"
  }
},

最好的反馈 尼克拉斯

1 个答案:

答案 0 :(得分:0)

您是否尝试将dependsOn置于insight资源声明中?

在这里查看web + sql的Quickstart模板:https://github.com/Azure/azure-quickstart-templates/blob/master/201-web-app-sql-database/azuredeploy.json

他们将dependsOn放在Insight声明上,而在网站声明中没有任何内容。这对你有用吗?

{
      "apiVersion": "2015-05-01",
      "name": "[concat('AppInsights', variables('webSiteName'))]",
      "type": "Microsoft.Insights/components",
      "location": "centralus",
      "dependsOn": [
        "[variables('webSiteName')]"
      ],
      "tags": {
        "[concat('hidden-link:', resourceId('Microsoft.Web/sites', variables('webSiteName')))]": "Resource",
        "displayName": "AppInsightsComponent"
      },
      "properties": {
        "ApplicationId": "[variables('webSiteName')]"
      }
    }