Nasazení prostředků pomocí bicep a Azure PowerShell

tento článek vysvětluje, jak používat Azure PowerShell se soubory Bicep k nasazení vašich prostředků do Azure. Pokud nejste obeznámeni s koncepty nasazení a správy řešení Azure, přečtěte si téma bicep Overview.

Požadavky

K nasazení budete potřebovat soubor bicep. Soubor musí být místní.

potřebujete Azure PowerShell a budete připojeni k Azure:

Pokud nemáte nainstalovaný PowerShell, můžete použít Azure Cloud Shell. Další informace najdete v tématu nasazení souborů bicep z Azure Cloud Shell.

Rozsah nasazení

Nasazení můžete cílit na skupinu prostředků, předplatné, skupinu pro správu nebo tenanta. V závislosti na rozsahu nasazení použijete jiné příkazy.

Pro každý obor musí mít uživatel, který šablonu nasazuje, potřebná oprávnění k vytváření prostředků.

Nasadit místní soubor bicep

Soubor bicep můžete nasadit z místního počítače nebo z něj, který je uložen externě. Tato část popisuje nasazení místního souboru bicep.

Pokud provádíte nasazení do skupiny prostředků, která neexistuje, vytvořte skupinu prostředků. Název skupiny prostředků může obsahovat jenom alfanumerické znaky, tečky, podtržítka, spojovníky a závorky. Může to být až 90 znaků. Název nemůže končit tečkou.

New-AzResourceGroup -Name ExampleGroup -Location "Central US"

K nasazení místního souboru bicep použijte -TemplateFile parametr v příkazu nasazení.

New-AzResourceGroupDeployment `
  -Name ExampleDeployment `
  -ResourceGroupName ExampleGroup `
  -TemplateFile <path-to-bicep>

Dokončení nasazení může trvat několik minut.

Nasadit vzdálený soubor bicep

v současné době Azure PowerShell nepodporuje nasazování vzdálených souborů Bicep. Pomocí BICEP CLI zkompilujte soubor bicep do šablony JSON a potom soubor JSON načtěte do vzdáleného umístění.

Parametry

K předání hodnot parametrů můžete použít buď vložené parametry, nebo soubor parametrů.

Vložené parametry

Chcete-li předat vložené parametry, zadejte název parametru pomocí New-AzResourceGroupDeployment příkazu. Například pro předání řetězce a pole do souboru bicep použijte:

$arrayParam = "value1", "value2"
New-AzResourceGroupDeployment -ResourceGroupName testgroup `
  -TemplateFile <path-to-bicep> `
  -exampleString "inline string" `
  -exampleArray $arrayParam

Obsah souboru můžete také získat a poskytnout ho jako vložený parametr.

$arrayParam = "value1", "value2"
New-AzResourceGroupDeployment -ResourceGroupName testgroup `
  -TemplateFile <path-to-bicep> `
  -exampleString $(Get-Content -Path c:\MyTemplates\stringcontent.txt -Raw) `
  -exampleArray $arrayParam

Získání hodnoty parametru ze souboru je užitečné v případě, že potřebujete zadat konfigurační hodnoty. Můžete například zadat hodnoty Cloud-init pro virtuální počítač se systémem Linux.

Pokud potřebujete předat pole objektů, vytvořte v PowerShellu zatřiďovací tabulky a přidejte je do pole. Předat toto pole jako parametr během nasazování.

$hash1 = @{ Name = "firstSubnet"; AddressPrefix = "10.0.0.0/24"}
$hash2 = @{ Name = "secondSubnet"; AddressPrefix = "10.0.1.0/24"}
$subnetArray = $hash1, $hash2
New-AzResourceGroupDeployment -ResourceGroupName testgroup `
  -TemplateFile <path-to-bicep> `
  -exampleArray $subnetArray

Soubory parametrů

Místo předávání parametrů v podobě hodnot vložených do skriptu pro vás možná bude jednodušší použít soubor JSON, který obsahuje hodnoty parametrů. Soubor parametrů může být místní soubor nebo externí soubor s přístupným identifikátorem URI. Soubor bicep používá soubory parametrů JSON.

Další informace o souboru parametrů najdete v tématu Vytvoření souboru parametrů Resource Manageru.

Chcete-li předat místní soubor parametrů, použijte TemplateParameterFile parametr:

New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup `
  -TemplateFile c:\BicepFiles\storage.bicep `
  -TemplateParameterFile c:\BicepFiles\storage.parameters.json

Chcete-li předat externí soubor parametrů, použijte TemplateParameterUri parametr:

New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup `
  -TemplateFile c:\BicepFiles\storage.bicep `
  -TemplateParameterUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.parameters.json

Zobrazit náhled změn

Před nasazením souboru bicep můžete zobrazit náhled změn, které soubor bicep provede pro vaše prostředí. Pomocí operace citlivosti ověřte, že soubor bicep provede změny, které očekáváte. Co když zároveň ověří chyby v souboru bicep.

Nasadit specifikace šablony

v současné době Azure PowerShell nepodporuje vytváření specifikací šablon poskytnutím souborů Bicep. Můžete však vytvořit soubor bicep pomocí prostředku Microsoft. Resources/templateSpecs pro nasazení specifikace šablony. Ukázka vytvořit šablonu specifikace popisuje, jak vytvořit specifikaci šablony v souboru bicep. Soubor bicep můžete také sestavit do formátu JSON pomocí bicep CLI a pak vytvořit šablonu specifikace pomocí šablony JSON.

Název nasazení

Při nasazování souboru bicep můžete dát nasazení název. Tento název vám může pomáhat s načtením nasazení z historie nasazení. Pokud pro nasazení nezadáte název, použije se název souboru bicep. Například pokud nasadíte bicep s názvem main.bicep a nezadáte název nasazení, nasazení se pojmenuje main .

Pokaždé, když spustíte nasazení, do historie nasazení skupiny prostředků se přidá záznam s názvem nasazení. Pokud spustíte jiné nasazení a přiřadíte mu stejný název, bude předchozí položka nahrazena aktuálním nasazením. Pokud chcete zachovat jedinečné položky v historii nasazení, udělte každému nasazení jedinečný název.

Chcete-li vytvořit jedinečný název, můžete přiřadit náhodné číslo.

$suffix = Get-Random -Maximum 1000
$deploymentName = "ExampleDeployment" + $suffix

Nebo přidejte hodnotu data.

$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="ExampleDeployment"+"$today"

Pokud spustíte souběžná nasazení do stejné skupiny prostředků se stejným názvem nasazení, bude dokončeno pouze poslední nasazení. Všechna nasazení se stejným názvem, která nebyla dokončena, budou nahrazena posledním nasazením. Pokud například spustíte nasazení s názvem newStorage , které nasadí účet úložiště s názvem storage1 a zároveň spustíte jiné nasazení s názvem newStorage , které nasadí účet úložiště s názvem storage2 , nasadíte jenom jeden účet úložiště. Výsledný účet úložiště je pojmenován storage2 .

Pokud ale spustíte nasazení s názvem newStorage , které nasadí účet úložiště s názvem storage1 , a hned po jeho dokončení spustíte jiné nasazení s názvem newStorage , které nasadí účet úložiště s názvem storage2 , budete mít dva účty úložiště. Jedna má název storage1 a druhá má název storage2 . Ale v historii nasazení máte jenom jednu položku.

Pokud pro každé nasazení zadáte jedinečný název, můžete je spustit souběžně bez konfliktu. Pokud spustíte nasazení s názvem, newStorage1 které nasadí účet úložiště s názvem storage1 a zároveň spustíte jiné nasazení s názvem, newStorage2 které nasadí účet úložiště s názvem storage2 , budete mít dva účty úložiště a dvě položky v historii nasazení.

Aby nedocházelo ke konfliktům s souběžnými nasazeními a zajistili v historii nasazení jedinečné položky, udělte každé nasazení jedinečný název.

Další kroky