3

我已经为 azure web 应用程序创建了 ARM 模板。我需要将 ARM 模板发布到天蓝色市场。我使用 azure 发布门户https://publish.windowsazure.com/workspace/multi-resource-solutions来发布 ARM 模板。

要将 ARM 模板载入 azure 市场 zip 文件,必须包含 mainTemplate.json 和 createUiDefinition.json。我在https://github.com/Azure/azure-quickstart-templates中找到了一些 createUiDefination.json 文件的示例,但所有 createUiDefination.json 都是针对 VM 的。我找不到适用于 Azure Web 应用程序的 createUiDefination.json 的示例或教程。

我需要验证 azure web 应用程序站点名称是否已经存在。还需要创建或使用应用服务计划。

是否有为 azure web 应用程序创建 createUiDefination.json 的教程或示例?

4

1 回答 1

0

我需要验证 azure web 应用程序站点名称是否已经存在。

这是不可能的,你需要给站点名称添加一个唯一的字符串,以确保站点名称是全局唯一的。例如,您可以在 ARM 模板中使用此函数:uniqueString()

微软员工回答了类似的问题。

还需要创建或使用应用服务计划。

将应用服务计划添加到 Azure 资源管理器模板。例如像这样:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "hostingPlanName": {
      "type": "string",
      "minLength": 1
    },
    "skuName": {
      "type": "string",
      "defaultValue": "F1",
      "allowedValues": [
        "F1",
        "D1",
        "B1",
        "B2",
        "B3",
        "S1",
        "S2",
        "S3",
        "P1",
        "P2",
        "P3",
        "P4"
      ],
      "metadata": {
        "description": "Describes plan's pricing tier and capacity. Check details at https://azure.microsoft.com/en-us/pricing/details/app-service/"
      }
    },
    "skuCapacity": {
      "type": "int",
      "defaultValue": 1,
      "minValue": 1,
      "metadata": {
        "description": "Describes plan's instance count"
      }
    }
  },
  "variables": {
    "webSiteName": "[concat('webSite', uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "apiVersion": "2015-08-01",
      "name": "[parameters('hostingPlanName')]",
      "type": "Microsoft.Web/serverfarms",
      "location": "[resourceGroup().location]",
      "tags": {
        "displayName": "HostingPlan"
      },
      "sku": {
        "name": "[parameters('skuName')]",
        "capacity": "[parameters('skuCapacity')]"
      },
      "properties": {
        "name": "[parameters('hostingPlanName')]"
      }
    },
    {
      "apiVersion": "2015-08-01",
      "name": "[variables('webSiteName')]",
      "type": "Microsoft.Web/sites",
      "location": "[resourceGroup().location]",
      "tags": {
        "[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]": "Resource",
        "displayName": "Website"
      },
      "dependsOn": [
        "[resourceId('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]"
      ],
      "properties": {
        "name": "[variables('webSiteName')]",
        "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]"
      }
    }
  ]
}
于 2019-03-11T09:23:12.560 回答