Udržujte více nasazení Azure pomocí štítků šablon Azure Resource Manager a souborů parametrů.

Dokončeno

Existují dvě funkce šablon Azure Resource Manageru (ARM), které chcete použít při nasazování do více než jednoho prostředí Azure. Tyto funkce jsou značky prostředků a soubory parametrů šablony ARM.

Při přidávání dalších prostředků do prostředí rychle zjistíte, že potřebujete způsob, jak identifikovat účel těchto prostředků. Prostředky mají pro tento účel atribut tags:. Při nasazování do více prostředí potřebujete efektivní způsob, jak sledovat vstupní parametry. Šablony ARM můžou používat soubory parametrů ke správě parametrů pro každé prostředí nasazení.

Co je značka prostředku Azure?

Prostředky můžete označit a přidat hodnoty, které vám pomůžou identifikovat jejich použití. Můžete například přidat značky, které uvádějí prostředí a projekt, do kterého prostředek patří. Nebo můžete přidat značky, které identifikují nákladové středisko nebo tým, který vlastní prostředek. Přidejte všechny hodnoty, které mají smysl pro vaši organizaci.

Hodnota značky se zobrazí na stránce přehledu pro prostředek Azure a v sestavách nákladů.

Jak vytvořím značku prostředku Azure?

Každý prostředek má atribut tags:. Zatím jste pro značku vašeho účtu úložiště používali výchozí displayName:

"tags": {
          "displayName": "[parameters('storageName')]"
        },

Aby byl tento atribut užitečnější, můžete definovat parametr, který obsahuje další informace, a pak tento parametr použít v atributu tags:. Můžete například vytvořit parametr pro uložení objektu s názvem resourceTags:

"resourceTags": {
    "type": "object",
    "defaultValue": {
        "Environment": "Dev",
        "Project": "Inventory"
        }
    }

V této části jste vytvořili objekt, který bude obsahovat hodnoty pro název prostředí a název projektu, ale můžete definovat cokoli, co chcete.

Pak můžete tento parametr použít pro jakýkoli prostředek, který je určený pro vývojové prostředí a projekt Inventory; Například váš účet úložiště.

"resources": [{
        "name": "[variables('uniqueStorageName')]",
        "type": "Microsoft.Storage/storageAccounts",
        "apiVersion": "2019-06-01",
        "tags": "[parameters('resourceTags')]",
        ...
    }],

Co je soubor parametrů šablony ARM?

Soubor parametrů šablony ARM obsahuje hodnoty, které se předávají šabloně ARM při spuštění šablony. Pomocí souboru parametrů pro každé prostředí, do kterého se nasadí šablona ARM, zajistíte, že jsou pro dané konkrétní prostředí nastavené správné parametry. Také se ujistěte, že můžete sledovat historii a údržbu těchto hodnot parametrů ve správě zdrojového kódu.

Jak se používají soubory parametrů šablony ARM?

Soubory parametrů šablony ARM jsou soubory JSON, které obsahují hodnoty parametrů. Například pro parametry, které jste zatím použili v šabloně ARM, můžete vytvořit soubor parametrů šablony následujícím způsobem:

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
      "storagePrefix": {
        "value": "storage"
      },
      "storageSKU": {
        "value": "Standard_LRS"
      },
      "resourceTags": {
        "value": {
          "Environment": "Dev",
          "Project": "Learn"
        }
      }
    }
  }

Pak můžete vytvořit soubor podobný tomuto souboru pro každé prostředí. Například tyto soubory mohou být volána azuredeploy.parameters.dev.json a azuredeploy.parameters.prod.jsona uchovávat různé hodnoty parametrů.

Pokud chcete nasadit šablonu ARM pomocí souboru parametrů, zadejte cestu k souboru parametrů v příkazu nasazení. V Azure CLI použijete --parameters {path to parameter file}. V PowerShellu použijete -TemplateParameterFile {path to parameter file}.

templateFile="{path-to-the-template-file}"
devParameterFile="{path-to-azuredeploy.parameters.dev.json}"
az group create \
  --name myResourceGroupDev \
  --location "East US"
az deployment group create \
  --name devenvironment \
  --resource-group myResourceGroupDev \
  --template-file $templateFile \
  --parameters $devParameterFile