如何在 Azure 资源管理器模板中使用现有的 Microsoft.Web/serverfarms?

Ben*_*ger 1 azure azure-resource-manager

我想将网站 (Microsoft.Web/sites) 资源部署到现有托管计划 (Microsoft.Web/serverfarms),而无需在 ARM 模板中定义 sku、workersize 等。它应该按原样使用托管计划,而无需更改它。但是托管计划定义似乎需要 sku,而网站定义似乎需要托管计划定义。

目前我们读取了托管计划的sku,并将其设置为ARM模板中的参数,但有时它仍然会在azure中触发缩放操作并重新启动托管计划上的所有网站。

bmo*_*sft 7

您需要在 ARM 模板中设置托管计划的唯一内容是该 serverFarm 的 resourceId - 这是下面的 serverFarmId 属性...

      "name": "[variables('websiteName')]",
      "type": "Microsoft.Web/sites",
      "location": "centralus",
      "apiVersion": "2015-08-01",
      "dependsOn": [ ],
      "tags": {
          "displayName": "website"
      },
      "properties": {
          "name": "[variables('websiteName')]",
          "serverFarmId": "[resourceId(parameters('serverFarmResourceGroupName'), 'Microsoft.Web/serverFarms', parameters('AppSvcPlanName'))]"
      }
Run Code Online (Sandbox Code Playgroud)

这是准系统,但它会将一个 Web 应用程序放入现有的 serverFarm。

  • dependsOn *仅*用于同一模板中定义的资源。 (2认同)