【问题标题】:How to use a existing Microsoft.Web/serverfarms in a Azure Resource Manager Template?如何在 Azure 资源管理器模板中使用现有的 Microsoft.Web/serverfarms?
【发布时间】:2016-10-27 06:50:47
【问题描述】:

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

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

【问题讨论】:

    标签: azure azure-resource-manager


    【解决方案1】:

    您需要在 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'))]"
          }
    

    这是准系统,但它会将网络应用程序放入现有的 serverFarm 中。

    【讨论】:

    • 我认为我的问题是,我没有在 serverFarmId 的 resourceId 函数中提供 serverFarmResourceGroupName 参数,这似乎只有在同一模板中定义 serverFarm 时才有效。
    • 是的,你搞定了——如果一个函数的参数没有提供,它默认为当前的 on(subscriptionId 在 resourceId() fn 中的工作方式相同)
    • @bmoore-msft - 为什么将相同的东西 (ServerFarmId) 放在 dependsOn 下会出错?
    • dependsOn 用于在同一模板中定义的资源。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多