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


Erőforrások üzembe helyezése ARM-sablonokkal és Azure Resource Manager REST API-val

Ez a cikk azt ismerteti, hogyan használhatja az Azure Resource Manager REST API-t Azure Resource Manager-sablonokkal (ARM-sablonokkal) az erőforrások Azure-ban való üzembe helyezéséhez.

Felveheti a sablont a kérelem törzsébe, vagy hivatkozhat egy fájlra. Fájl használata esetén lehet helyi vagy külső fájl, amely egy URI-val érhető el. Ha a sablon egy tárfiókban van, korlátozhatja a sablonhoz való hozzáférést, és az üzembe helyezés során megadhatja a közös hozzáférésű jogosultságkód (SAS) jogkivonatot.

Előfeltételek

Szükséges engedélyek

Bicep-fájl vagy Azure Resource Manager-sablon üzembe helyezéséhez írási hozzáférésre van szüksége az üzembe helyezendő erőforrásokhoz, és hozzá kell férnie az Microsoft.Resources/deployments erőforrástípus összes műveletéhez. Egy virtuális gép üzembe helyezéséhez például szükség van Microsoft.Compute/virtualMachines/write és Microsoft.Resources/deployments/* engedélyekre. A what-if műveletnek ugyanazok az engedélykövetelményei vannak.

Az Azure CLI 2.76.0-s vagy újabb verziója, valamint az Azure PowerShell 13.4.0-s vagy újabb verziója bevezeti az ValidationLevel kapcsolót annak megállapításához, hogy az ARM milyen alaposan ellenőrzi a Bicep-sablont a folyamat során. További információ: What-if parancsok

A szerepkörök és engedélyek listáját megtalálja a Beépített Azure-szerepkörök című cikkben.

Üzembe helyezési hatókör

Az üzembe helyezést egy erőforráscsoportra, Azure-előfizetésre, felügyeleti csoportra vagy bérlőre célozhatja. Az üzembe helyezés hatókörétől függően különböző parancsokat használ.

A cikkben szereplő példák erőforráscsoport-telepítéseket használnak.

Üzembe helyezés a REST API-val

  1. Adja meg a gyakori paramétereket és fejléceket, beleértve a hitelesítési jogkivonatokat is.

  2. Ha olyan erőforráscsoportba kíván telepíteni, amely nem létezik, hozza létre az erőforráscsoportot. Adja meg az előfizetés azonosítóját, az új erőforráscsoport nevét és a megoldáshoz szükséges helyet. További információ: Erőforráscsoport létrehozása.

    PUT https://management.azure.com/subscriptions/<YourSubscriptionId>/resourcegroups/<YourResourceGroupName>?api-version=2020-06-01
    

    A kérelem törzse a következő:

    {
     "location": "West US",
     "tags": {
       "tagname1": "tagvalue1"
     }
    }
    
  3. A sablon üzembe helyezése előtt megtekintheti a sablon által a környezetében végzett módosításokat. A lehetőségelemzési művelettel ellenőrizze, hogy a sablon végrehajtja-e a várt módosításokat. A What-if a sablont is ellenőrzi a hibák esetén.

  4. Sablon üzembe helyezéséhez adja meg az előfizetés azonosítóját, az erőforráscsoport nevét, az üzembe helyezés nevét a kérelem URI-jában.

    PUT https://management.azure.com/subscriptions/<YourSubscriptionId>/resourcegroups/<YourResourceGroupName>/providers/Microsoft.Resources/deployments/<YourDeploymentName>?api-version=2020-10-01
    

    A kérelem törzsében adjon meg egy hivatkozást a sablonra és a paraméterfájlra. A paraméterfájlról a Resource Manager-paraméterfájl létrehozása című cikk nyújt további információkat.

    Vegye észre, hogy a mode beállítása inkrementális. A teljes üzembe helyezés futtatásához állítsa modeTeljes értékre. Legyen óvatos a teljes mód használatakor, mivel véletlenül törölheti a sablonban nem szereplő erőforrásokat.

    {
     "properties": {
       "templateLink": {
         "uri": "http://mystorageaccount.blob.core.windows.net/templates/template.json",
         "contentVersion": "1.0.0.0"
       },
       "parametersLink": {
         "uri": "http://mystorageaccount.blob.core.windows.net/templates/parameters.json",
         "contentVersion": "1.0.0.0"
       },
       "mode": "Incremental"
     }
    }
    

    Ha naplózni szeretné a válasz tartalmát, a kérés tartalmát vagy mindkettőt, vegye fel debugSetting a kérésbe.

    {
     "properties": {
       "templateLink": {
         "uri": "http://mystorageaccount.blob.core.windows.net/templates/template.json",
         "contentVersion": "1.0.0.0"
       },
       "parametersLink": {
         "uri": "http://mystorageaccount.blob.core.windows.net/templates/parameters.json",
         "contentVersion": "1.0.0.0"
       },
       "mode": "Incremental",
       "debugSetting": {
         "detailLevel": "requestContent, responseContent"
       }
     }
    }
    

    A tárfiókot beállíthatja közös hozzáférésű jogosultságkód (SAS) jogkivonat használatára. További információ: Hozzáférés delegálása megosztott hozzáférésű aláírással.

    Ha bizalmas értéket kell megadnia egy paraméterhez (például jelszóhoz), adja hozzá ezt az értéket egy kulcstartóhoz. Kérje le a kulcstárat az üzembe helyezés során az előző példában látható módon. További információ: Az Azure Key Vault használata biztonságos paraméterértékek átadásához az üzembe helyezés során.

  5. A sablonhoz és paraméterekhez tartozó fájlok csatolása helyett felveheti őket a kérelem törzsébe. Az alábbi példa a kérelem törzsét mutatja be a sablonnal és a paraméterrel:

    {
       "properties": {
       "mode": "Incremental",
       "template": {
         "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
         "contentVersion": "1.0.0.0",
         "parameters": {
           "storageAccountType": {
             "type": "string",
             "defaultValue": "Standard_LRS",
             "allowedValues": [
               "Standard_LRS",
               "Standard_GRS",
               "Standard_ZRS",
               "Premium_LRS"
             ],
             "metadata": {
               "description": "Storage Account type"
             }
           },
           "location": {
             "type": "string",
             "defaultValue": "[resourceGroup().location]",
             "metadata": {
               "description": "Location for all resources."
             }
           }
         },
         "variables": {
           "storageAccountName": "[format('{0}standardsa', uniquestring(resourceGroup().id))]"
         },
         "resources": [
           {
             "type": "Microsoft.Storage/storageAccounts",
             "apiVersion": "2025-06-01",
             "name": "[variables('storageAccountName')]",
             "location": "[parameters('location')]",
             "sku": {
               "name": "[parameters('storageAccountType')]"
             },
             "kind": "StorageV2",
             "properties": {}
           }
         ],
         "outputs": {
           "storageAccountName": {
             "type": "string",
             "value": "[variables('storageAccountName')]"
           }
         }
       },
       "parameters": {
         "location": {
           "value": "eastus2"
         }
       }
     }
    }
    
  6. A sablon üzembe helyezésének állapotának lekéréséhez használja a Központi telepítések – Get parancsot.

    GET https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2020-10-01
    

Üzembe helyezés az ARMClient használatával

Az ARMClient egy egyszerű parancssori eszköz az Azure Resource Manager API meghívásához. Az eszköz telepítéséhez tekintse meg ARMClient.

Az előfizetések listázása:

armclient GET /subscriptions?api-version=2021-04-01

Az erőforráscsoportok listázása:

armclient GET /subscriptions/<subscription-id>/resourceGroups?api-version=2021-04-01

Cserélje le <az előfizetés-azonosítót> az Azure-előfizetés azonosítójával.

Erőforráscsoport létrehozása az USA középső régiójában:

armclient PUT /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>?api-version=2021-04-01  "{location: 'central us', properties: {}}"

Másik lehetőségként a törzset egy CreateRg.jsonnevű JSON-fájlba is elhelyezheti:

{
  "location": "Central US",
  "properties": { }
}
armclient PUT /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>?api-version=2021-04-01 '@CreateRg.json'

További információ : ARMClient: az Azure API parancssori eszköze.

Telepítés neve

Az üzembe helyezéshez megadhat például egy nevet.ExampleDeployment

Minden alkalommal, amikor futtat egy telepítést, a rendszer hozzáad egy bejegyzést az erőforráscsoport telepítési előzményeihez a telepítés nevével. Ha egy másik üzembe helyezést futtat, és ugyanazt a nevet adja neki, a korábbi bejegyzést a rendszer lecseréli az aktuális üzembe helyezésre. Ha egyedi bejegyzéseket szeretne fenntartani az üzembe helyezési előzményekben, adjon egyedi nevet az egyes üzemelő példányoknak.

Egyedi név létrehozásához véletlenszerű számot rendelhet hozzá. Vagy adjon hozzá egy dátumértéket.

Ha ugyanabban az erőforráscsoportban futtat egyidejű központi telepítéseket ugyanazzal az üzembe helyezési névvel, csak az utolsó üzembe helyezés fejeződik be. Az azonos névvel rendelkező, még nem befejezett üzembe helyezéseket az utolsó telepítés váltja fel. Ha például egy olyan üzembe helyezést newStorage futtat, amely egy névvel ellátott storage1tárfiókot helyez üzembe, és ugyanakkor futtat egy másik, egy elnevezett newStoragetárfiókot üzembe helyező üzembe storage2 helyezést, akkor csak egy tárfiókot helyez üzembe. Az eredményként kapott tárfiók neve storage2.

Ha azonban egy olyan üzembe helyezést newStorage futtat, amely egy nevű storage1tárfiókot helyez üzembe, és közvetlenül a befejezése után futtat egy másik üzembe helyezést newStorage , amely egy nevű storage2tárfiókot helyez üzembe, akkor két tárfiókja van. Az egyik neve storage1, a másik neve pedig .storage2 Az üzembe helyezési előzményekben azonban csak egy bejegyzés szerepel.

Ha egyedi nevet ad meg az egyes üzemelő példányoknak, egyidejűleg, ütközés nélkül futtathatja őket. Ha egy olyan üzembe helyezést newStorage1 futtat, amely egy névvel ellátott storage1tárfiókot helyez üzembe, és ugyanakkor futtat egy másik üzembe helyezést newStorage2 , amely egy elnevezett storage2tárfiókot helyez üzembe, akkor két tárfiókja és két bejegyzése van az üzembe helyezési előzményekben.

Az egyidejű üzembe helyezésekkel való ütközések elkerülése és az üzembe helyezési előzmények egyedi bejegyzéseinek biztosítása érdekében adjon egyedi nevet minden üzembe helyezésnek.

Következő lépések