Megosztás a következőn keresztül:


Oktatóanyag: Az Azure rövid útmutatósablonjainak használata

Az Azure Rövid útmutató sablonjai a közösség által közzétett sablonok adattára. A mintasablonokat a sablonfejlesztés során használhatja. Ebben az oktatóanyagban megtalálja a webhely erőforrás-definícióját, és hozzáadja azt a saját sablonjához. Ez az utasítás 12 percet vesz igénybe.

Előfeltételek

Javasoljuk, hogy végezze el az exportált sablonokról szóló oktatóanyagot, de nincs rá szükség.

Rendelkeznie kell a Visual Studio Code-tal a Resource Manager Tools bővítménnyel, valamint Azure PowerShell vagy Azure Command-Line Interface (CLI) használatával. További információ: Sabloneszközök.

Sablon áttekintése

Az előző oktatóanyag végén a sablon a következő JSON-fájlt tartalmazza:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storagePrefix": {
      "type": "string",
      "minLength": 3,
      "maxLength": 11
    },
    "storageSKU": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_GRS",
        "Standard_RAGRS",
        "Standard_ZRS",
        "Premium_LRS",
        "Premium_ZRS",
        "Standard_GZRS",
        "Standard_RAGZRS"
      ]
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    },
    "appServicePlanName": {
      "type": "string",
      "defaultValue": "exampleplan"
    }
  },
  "variables": {
    "uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-09-01",
      "name": "[variables('uniqueStorageName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    },
    {
      "type": "Microsoft.Web/serverfarms",
      "apiVersion": "2021-03-01",
      "name": "[parameters('appServicePlanName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "B1",
        "tier": "Basic",
        "size": "B1",
        "family": "B",
        "capacity": 1
      },
      "kind": "linux",
      "properties": {
        "perSiteScaling": false,
        "reserved": true,
        "targetWorkerCount": 0,
        "targetWorkerSizeId": 0
      }
    }
  ],
  "outputs": {
    "storageEndpoint": {
      "type": "object",
      "value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
    }
  }
}

Ez a sablon tárfiókok és App Service-csomagok üzembe helyezéséhez használható, de érdemes lehet webhelyet hozzáadni hozzá. Előre elkészített sablonokkal gyorsan felfedezheti az erőforrás üzembe helyezéséhez szükséges JSON-t.

Sablon keresése

  1. Az Azure rövid útmutatósablonjainak megnyitása

  2. Válassza ki az alapszintű Linux-webalkalmazás üzembe helyezése című csempét. Ha nem találja, itt található a közvetlen hivatkozás.

  3. Válassza a Tallózás a GitHubon lehetőséget.

  4. Válassza az azuredeploy.json lehetőséget.

  5. Tekintse át a sablont. Keresse meg az erőforrást Microsoft.Web/sites .

    Resource Manager sablon rövid útmutató webhelye

Meglévő sablon felülvizsgálata

A rövid útmutató sablonjának egyesítése a meglévő sablonnal:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storagePrefix": {
      "type": "string",
      "minLength": 3,
      "maxLength": 11
    },
    "storageSKU": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_GRS",
        "Standard_RAGRS",
        "Standard_ZRS",
        "Premium_LRS",
        "Premium_ZRS",
        "Standard_GZRS",
        "Standard_RAGZRS"
      ]
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    },
    "appServicePlanName": {
      "type": "string",
      "defaultValue": "exampleplan"
    },
    "webAppName": {
      "type": "string",
      "metadata": {
        "description": "Base name of the resource such as web app name and app service plan "
      },
      "minLength": 2
    },
    "linuxFxVersion": {
      "type": "string",
      "defaultValue": "php|7.0",
      "metadata": {
        "description": "The Runtime stack of current web app"
      }
    }
  },
  "variables": {
    "uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]",
    "webAppPortalName": "[concat(parameters('webAppName'), uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-09-01",
      "name": "[variables('uniqueStorageName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    },
    {
      "type": "Microsoft.Web/serverfarms",
      "apiVersion": "2021-03-01",
      "name": "[parameters('appServicePlanName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "B1",
        "tier": "Basic",
        "size": "B1",
        "family": "B",
        "capacity": 1
      },
      "kind": "linux",
      "properties": {
        "perSiteScaling": false,
        "reserved": true,
        "targetWorkerCount": 0,
        "targetWorkerSizeId": 0
      }
    },
    {
      "type": "Microsoft.Web/sites",
      "apiVersion": "2021-03-01",
      "name": "[variables('webAppPortalName')]",
      "location": "[parameters('location')]",
      "dependsOn": [
        "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]"
      ],
      "kind": "app",
      "properties": {
        "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]",
        "siteConfig": {
          "linuxFxVersion": "[parameters('linuxFxVersion')]"
        }
      }
    }
  ],
  "outputs": {
    "storageEndpoint": {
      "type": "object",
      "value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
    }
  }
}

A webalkalmazás nevének egyedinek kell lennie az Azure-ban. Az ismétlődő nevek elkerülése érdekében a változó a-ról webAppPortalName értékre "webAppPortalName": "[concat(parameters('webAppName'), uniqueString(resourceGroup().id))]""webAppPortalName": "[concat(parameters('webAppName'), '-webapp')]" frissül.

Adjon hozzá egy vesszőt a Microsoft.Web/serverfarms definíció végéhez, hogy elkülönítse az erőforrás-definíciót a Microsoft.Web/sites definíciótól.

Ebben az új erőforrásban több fontos funkciót is fel kell jegyezni.

Egy nevű dependsOn elemmel rendelkezik, amely az App Service-csomagra van beállítva. Ez a beállítás azért szükséges, mert az App Service-csomagnak léteznie kell a webalkalmazás létrehozása előtt. Az dependsOn elem ismerteti Resource Manager, hogyan rendelheti meg az erőforrásokat az üzembe helyezéshez.

A serverFarmId tulajdonság a resourceId függvényt használja. Ez a függvény lekéri egy erőforrás egyedi azonosítóját. Ebben az esetben lekéri az App Service-csomag egyedi azonosítóját. A webalkalmazás egy adott App Service-csomaghoz van társítva.

Sablon üzembe helyezése

Sablon üzembe helyezéséhez használja az Azure CLI-t vagy Azure PowerShell.

Ha még nem hozta létre az erőforráscsoportot, tekintse meg az Erőforráscsoport létrehozása című témakört. A példa feltételezi, hogy beállította a templateFile változót a sablonfájl elérési útjára, ahogy az az első oktatóanyagban is látható.

New-AzResourceGroupDeployment `
  -Name addwebapp `
  -ResourceGroupName myResourceGroup `
  -TemplateFile $templateFile `
  -storagePrefix "store" `
  -storageSKU Standard_LRS `
  -webAppName demoapp

Megjegyzés

Ha az üzembe helyezés sikertelen, a verbose kapcsolóval információkat kaphat a létrehozott erőforrásokról. A kapcsolóval debug további információt kaphat a hibakeresésről.

Az erőforrások eltávolítása

Ha továbblép a következő oktatóanyagra, nem kell törölnie az erőforráscsoportot.

Ha most leáll, érdemes lehet törölnie az erőforráscsoportot.

  1. A Azure Portal válassza az Erőforráscsoportok lehetőséget a bal oldali menüben.
  2. Írja be az erőforráscsoport nevét a Szűrő bármely mezőhöz... szövegmezőbe.
  3. Jelölje be a myResourceGroup melletti jelölőnégyzetet, és válassza a myResourceGroup vagy az erőforráscsoport nevét.
  4. Válassza az Erőforráscsoport törlése lehetőséget a felső menüben.

Következő lépések

Megtanulta, hogyan használhat rövid útmutatósablont a sablon fejlesztéséhez. A következő oktatóanyagban címkéket ad hozzá az erőforrásokhoz.