Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek vysvětluje, jak používat rozhraní REST API Azure Resource Manager se šablonami Azure Resource Manager (šablony ARM) k nasazení prostředků do Azure.
Šablonu můžete buď zahrnout do těla požadavku, nebo vytvořit odkaz na soubor. Při použití souboru to může být místní soubor nebo externí soubor, který je k dispozici prostřednictvím identifikátoru URI. Pokud je šablona v účtu úložiště, můžete omezit přístup k šabloně a během nasazování poskytnout token sdíleného přístupového podpisu (SAS).
Požadavky
Požadovaná oprávnění
Pokud chcete nasadit soubor Bicep nebo šablonu Azure Resource Manageru (ARM), potřebujete přístup k zápisu k prostředkům, které nasazujete, a přístup ke všem operacím s typem Microsoft.Resources/deployments prostředku. Pokud chcete například nasadit virtuální počítač, potřebujete Microsoft.Compute/virtualMachines/write a Microsoft.Resources/deployments/* oprávnění. Operace typu "co kdyby" má stejné požadavky na povolení.
Azure CLI verze 2.76.0 nebo novější a Azure PowerShell verze 13.4.0 nebo novější zavádí přepínač ValidationLevel a zjistěte, jak důkladně ARM během tohoto procesu ověřuje šablonu Bicep. Další informace najdete v tématu Příkazy citlivostní citlivosti.
Seznam rolí a oprávnění najdete v tématu Předdefinované role Azure.
Obor nasazení
Nasazení můžete cílit na skupinu prostředků, předplatné Azure, skupinu pro správu nebo tenanta. V závislosti na rozsahu nasazení použijete různé příkazy.
Pokud chcete nasadit do skupiny prostředků, použijte nasazení – vytvořit. Požadavek je odeslán na adresu:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2020-10-01Pokud chcete nasadit do předplatného, použijte nasazení – vytvořit v oboru předplatného. Požadavek je odeslán na adresu:
PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2020-10-01Další informace o nasazeních na úrovni předplatného najdete v tématu Vytváření skupin prostředků a prostředků na úrovni předplatného.
Pokud chcete nasadit do skupiny pro správu, použijte možnost Nasazení – Vytvořit v oboru skupiny pro správu. Požadavek je odeslán na adresu:
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2020-10-01Další informace o nasazeních na úrovni skupiny pro správu najdete v tématu Vytváření prostředků na úrovni skupiny pro správu.
Chcete-li nasadit do klienta, použijte možnost Nasazení – Vytvořit nebo aktualizovat v rozsahu klienta. Požadavek je odeslán na adresu:
PUT https://management.azure.com/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2020-10-01Další informace o nasazeních na úrovni tenanta najdete v tématu Vytváření prostředků na úrovni tenanta.
Příklady v tomto článku používají nasazení skupin prostředků.
Nasazení pomocí rozhraní REST API
Nastavuje společné parametry a hlavičky, včetně autentizačních tokenů.
Pokud nasazujete do neexistující skupiny prostředků, vytvořte tuto skupinu prostředků. Zadejte ID předplatného, název nové skupiny prostředků a umístění, které potřebujete pro své řešení. Další informace najdete v tématu Vytvoření skupiny prostředků.
PUT https://management.azure.com/subscriptions/<YourSubscriptionId>/resourcegroups/<YourResourceGroupName>?api-version=2020-06-01S textem požadavku, jako je:
{ "location": "West US", "tags": { "tagname1": "tagvalue1" } }Před nasazením šablony můžete zobrazit náhled změn, které šablona provede ve vašem prostředí. Použijte operaci co když k ověření, že šablona provede očekávané změny. Simulace "Co kdyby" také ověří šablonu z hlediska chyb.
Pokud chcete nasadit šablonu, zadejte ID předplatného, název skupiny prostředků, název nasazení v identifikátoru URI požadavku.
PUT https://management.azure.com/subscriptions/<YourSubscriptionId>/resourcegroups/<YourResourceGroupName>/providers/Microsoft.Resources/deployments/<YourDeploymentName>?api-version=2020-10-01V textu požadavku zadejte odkaz na šablonu a soubor parametrů. Další informace o souboru parametrů najdete v tématu Vytvoření souboru parametrů Resource Manageru.
Všimněte si, že je nastaveno
modena Přírůstkové. Chcete-li spustit úplné nasazení, nastavtemodemožnost Dokončeno. Při používání úplného režimu buďte opatrní, protože můžete nechtěně odstranit zdroje, které nejsou ve vaší šabloně.{ "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" } }Pokud chcete protokolovat obsah odpovědi, obsah požadavku nebo obojí, zahrňte
debugSettingdo požadavku.{ "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" } } }Účet úložiště můžete nastavit tak, aby používal token sdíleného přístupového podpisu (SAS). Další informace naleznete v tématu Delegování přístupu pomocí sdíleného přístupového podpisu.
Pokud potřebujete zadat citlivou hodnotu parametru (například heslo), přidejte tuto hodnotu do trezoru klíčů. Načtěte trezor klíčů během nasazování, jak je znázorněno v předchozím příkladu. Další informace najdete v tématu Použití služby Azure Key Vault k předání hodnoty zabezpečeného parametru během nasazování.
Místo odkazování na soubory šablony a parametrů je můžete zahrnout do těla požadavku. Následující příklad ukazuje text požadavku s vloženou šablonou a parametrem:
{ "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" } } } }Chcete-li zjistit stav nasazení šablony, použijte příkaz Nasazení – Získat.
GET https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2020-10-01
Nasazení pomocí ARMClient
ARMClient je jednoduchý nástroj příkazového řádku pro vyvolání rozhraní API Azure Resource Manageru. Chcete-li nástroj nainstalovat, podívejte se na ARMClient.
Seznam vašich předplatných:
armclient GET /subscriptions?api-version=2021-04-01
Zobrazení seznamu skupin prostředků:
armclient GET /subscriptions/<subscription-id>/resourceGroups?api-version=2021-04-01
Nahraďte <subscription-id> ID vašeho předplatného Azure.
Vytvoření skupiny prostředků v oblasti USA – střed :
armclient PUT /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>?api-version=2021-04-01 "{location: 'central us', properties: {}}"
Případně můžete tělo vložit do souboru JSON s názvem CreateRg.json:
{
"location": "Central US",
"properties": { }
}
armclient PUT /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>?api-version=2021-04-01 '@CreateRg.json'
Další informace naleznete v tématu ARMClient: nástroj příkazového řádku pro rozhraní API Azure.
Název nasazení
Nasazení můžete pojmenovat, například ExampleDeployment.
Při každém spuštění nasazení se do historie nasazení skupiny prostředků přidá položka s názvem daného nasazení. Pokud spustíte jiné nasazení a dáte mu stejný název, nahradí se předchozí položka aktuálním nasazením. Pokud chcete zachovat jedinečné položky v historii nasazení, dejte každému nasazení jedinečný název.
Pokud chcete vytvořit jedinečný název, můžete přiřadit náhodné číslo. Nebo přidejte hodnotu data.
Pokud spustíte souběžná nasazení do stejné skupiny prostředků se stejným názvem nasazení, dokončí se pouze poslední nasazení. Všechna nasazení se stejným názvem, která nejsou dokončena, jsou 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 současně spustíte jiné nasazení, které nasadí účet úložiště s názvem newStoragestorage2, nasadíte pouze jeden účet úložiště. Výsledný účet úložiště má název storage2.
Pokud však 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í, které nasadí účet úložiště s názvem newStoragestorage2, pak máte dva účty úložiště. Jeden má název storage1a druhý má název storage2. V historii nasazení ale máte jenom jednu položku.
Když 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 současně spustíte jiné nasazení, které nasadí účet úložiště s názvem newStorage2storage2, budete mít dva účty úložiště a dvě položky v historii nasazení.
Aby nedocházelo ke konfliktům se souběžnými nasazeními a k zajištění jedinečných položek v historii nasazení, dejte každému nasazení jedinečný název.
Další kroky
- Chcete-li se vrátit k úspěšnému nasazení po výskytu chyby, přečtěte si téma Vrácení při chybě na úspěšné nasazení.
- Pokud chcete určit, jak zpracovávat prostředky, které existují ve skupině prostředků, ale nejsou definované v šabloně, podívejte se na režimy nasazení Azure Resource Manageru.
- Další informace o zpracování asynchronních operací REST najdete v tématu Sledování asynchronních operací Azure.
- Další informace o šablonách najdete v tématu Principy struktury a syntaxe šablon ARM.