Nasazení specifikace šablony

Dokončeno

Po vytvoření a publikování specifikace šablony ji můžete nasadit. V této lekci se dozvíte o způsobech nasazení specifikace šablony.

Vytvoření nasazení pomocí specifikace šablony

Pokud chcete nasadit specifikaci šablony do skupiny prostředků, použijte stejnou New-AzResourceGroupDeployment rutinu, kterou znáte. Místo zadání souboru šablony zadáte ID prostředku specifikace šablony, jak je znázorněno v tomto příkladu:

New-AzResourceGroupDeployment `
  -TemplateSpecId '/subscriptions/f0750bbe-ea75-4ae5-b24d-a92ca601da2c/resourceGroups/SharedTemplates/providers/Microsoft.Resources/templateSpecs/StorageWithoutSAS'

Přestože je potřeba vytvořit specifikace šablon v rámci skupiny prostředků, můžete je nasadit do předplatných, skupin pro správu nebo dokonce tenantů pomocí těchto rutin:

Nasazení v tomto oboru: Použijte tuto rutinu PowerShellu:
Skupina prostředků New-AzResourceGroupDeployment
Předplatné New-AzSubscriptionDeployment
Skupina pro správu New-AzManagementGroupDeployment
Klient New-AzTenantDeployment

Každá z těchto rutin přijímá -TemplateSpecId parametr, který zahájí nasazení specifikace šablony v jednom z těchto oborů.

Pokud chcete nasadit specifikaci šablony do skupiny prostředků, použijte stejný az deployment group create příkaz, který znáte. Místo zadání souboru šablony zadáte ID prostředku specifikace šablony, jak je znázorněno v tomto příkladu:

az deployment group create \
  --template-spec "/subscriptions/f0750bbe-ea75-4ae5-b24d-a92ca601da2c/resourceGroups/SharedTemplates/providers/Microsoft.Resources/templateSpecs/StorageWithoutSAS"

Přestože je potřeba vytvořit specifikace šablon v rámci skupiny prostředků, můžete je nasadit do předplatných, skupin pro správu nebo dokonce tenantů pomocí těchto příkazů:

Nasazení v tomto oboru: Spusťte tento příkaz Azure CLI:
Skupina prostředků az deployment group create
Předplatné az deployment sub create
Skupina pro správu az deployment mg create
Klient az deployment tenant create

Každý z těchto příkazů přijímá --template-spec argument pro zahájení nasazení specifikace šablony v jednom z těchto oborů.

Použití specifikace šablony jako propojeného nasazení

Pokud chcete použít specifikaci šablony z jiné šablony Azure Resource Manageru (šablona ARM), vytvoříte nasazení, které použije tuto specifikaci šablony. Tento typ nasazení se nazývá propojené nasazení , protože odkazujete na šablonu nasazení zadanou externě.

V Azure je nasazení prostředek, který má typ Microsoft.Resources/deploymentsprostředku . Při nasazování šablony ARM vytváříte prostředek nasazení. Stejný koncept platí, když nasadíte specifikaci šablony, například takto:

{
  "type": "Microsoft.Resources/deployments",
  "apiVersion": "2020-10-01",
  "name": "createStorage",
  "properties": {
    "mode": "Incremental",
    "templateLink": {
      "id": "[resourceId('Microsoft.Resources/templateSpecs/versions', variables('templateSpecName'), variables('templateSpecVersion'))]"
    }
  }
}

Pokud máte parametry pro nasazení specifikace šablony, použijte parameters tuto vlastnost:

{
  "type": "Microsoft.Resources/deployments",
  "apiVersion": "2020-10-01",
  "name": "createStorage",
  "properties": {
    "mode": "Incremental",
    "templateLink": {
      "id": "[resourceId('Microsoft.Resources/templateSpecs/versions', variables('templateSpecName'), variables('templateSpecVersion'))]"
    },
    "parameters": {
      "storageAccountName": {
        "value": "[parameters('storageAccountName')]"
      }
    }
  }
}

Použití specifikace šablony jako modulu Bicep

Specifikace šablony můžete použít jako modul v souboru Bicep:

module storageAccountTemplateSpec 'ts:f0750bbe-ea75-4ae5-b24d-a92ca601da2c/sharedTemplates/StorageWithoutSAS:1.0' = {
  name: 'storageAccountTemplateSpec'
}

Všimněte si, že cesta k modulu používá speciální formát:

Diagram showing the components of the template spec path.

Cesta k modulu má tři komponenty oddělené dvojtečku (:) znakem:

  • Schéma: Bicep podporuje několik typů modulů, které se nazývají schémata. Pokud jako modul použijete specifikaci šablony, použijete ts ji jako schéma.
  • ID předplatného, název skupiny prostředků a název specifikace šablony: Tyto hodnoty by měly určovat umístění prostředku specifikace šablony, který jste publikovali dříve. Pomocí lomítek (/) oddělíte ID předplatného, název skupiny prostředků a název specifikace šablony. Tato část cesty modulu není úplným ID prostředku specifikace šablony – je to jen několik komponent ID prostředku.
  • Verze: Musí být zahrnuta verze specifikace šablony.

Poznámka:

Při zadávání cesty k modulu nemůžete použít proměnné, parametry ani interpolaci řetězců. Úplná cesta specifikace šablony musí být uložena do souboru Bicep.

Pokud máte parametry pro zadání specifikace šablony, použijete params vlastnost:

module storageAccountTemplateSpec 'ts:f0750bbe-ea75-4ae5-b24d-a92ca601da2c/sharedTemplates/StorageWithoutSAS:1.0' = {
  name: 'storageAccountTemplateSpec'
  params: {
    storageAccountName: storageAccountName
  }
}

Soubor specifikace šablony se stáhne a zkopíruje (přeloží) do šablony JSON ARM při sestavení souboru Bicep. Obvykle k této operaci dochází, když nasadíte soubor Bicep, ale pomocí nástrojů Bicep můžete transpilovat explicitně spuštěním bicep build příkazu.