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:
- nainstalujte rutiny Azure PowerShell na místním počítači. k nasazení souborů Bicep potřebujete Azure PowerShell verze 5.6.0 nebo novější. Další informace najdete v tématu Začínáme s Azure PowerShellem.
- Připojení do Azure pomocí Připojení-AzAccount. Pokud máte více předplatných Azure, může být nutné spustit také rutinu set-AzContext. Další informace najdete v tématu použití více předplatných 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.
K nasazení do skupiny prostředků použijte New-AzResourceGroupDeployment:
New-AzResourceGroupDeployment -ResourceGroupName <resource-group-name> -TemplateFile <path-to-bicep>K nasazení do předplatného použijte New-AzSubscriptionDeployment, což je alias
New-AzDeploymentrutiny:New-AzSubscriptionDeployment -Location <location> -TemplateFile <path-to-bicep>Další informace o nasazeních na úrovni předplatného najdete v tématu Vytvoření skupin prostředků a prostředků na úrovni předplatného.
K nasazení do skupiny pro správu použijte New-AzManagementGroupDeployment.
New-AzManagementGroupDeployment -ManagementGroupId <management-group-id> -Location <location> -TemplateFile <path-to-bicep>Další informace o nasazení na úrovni skupiny pro správu najdete v tématu věnovaném vytvoření prostředků na úrovni skupiny pro správu.
K nasazení do tenanta použijte New-AzTenantDeployment.
New-AzTenantDeployment -Location <location> -TemplateFile <path-to-bicep>Další informace o nasazeních na úrovni tenanta najdete v tématu vytvoření prostředků na úrovni tenanta.
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
- Chcete-li pochopit, jak definovat parametry v souboru, přečtěte si téma porozumění struktuře a syntaxi souborů bicep.