Příklad: Vytvoření skupiny prostředků pomocí knihoven Azure
Tento příklad ukazuje, jak pomocí knihoven pro správu sady Azure SDK ve skriptu Pythonu vytvořit skupinu prostředků. (Ekvivalentní příkaz Azure CLI je uveden dále v tomto článku. Pokud dáváte přednost používání webu Azure Portal, přečtěte si téma Vytvoření skupin prostředků.)
Všechny příkazy v tomto článku fungují stejně v prostředích Bash pro Linux/macOS a Windows, pokud není uvedeno.
1: Nastavení místního vývojového prostředí
Pokud jste to ještě neudělali, nastavte prostředí, ve kterém můžete tento kód spustit. Zde je uvedeno několik možností:
Nakonfigurujte virtuální prostředí Pythonu pomocí
venv
libovolného nástroje nebo nástroje. Virtuální prostředí můžete vytvořit místně nebo v Azure Cloud Shellu a spustit ho tam. Nezapomeňte aktivovat virtuální prostředí, abyste ho mohli začít používat.Použijte prostředí Conda.
Použijte vývojový kontejner v editoru Visual Studio Code nebo GitHub Codespaces.
2: Instalace balíčků knihovny Azure
Vytvořte soubor s názvem requirements.txt s následujícím obsahem:
azure-mgmt-resource
azure-identity
V terminálu nebo příkazovém řádku s aktivovaným virtuálním prostředím nainstalujte požadavky:
pip install -r requirements.txt
3: Napsání kódu pro vytvoření skupiny prostředků
Vytvořte soubor Pythonu s názvem provision_rg.py s následujícím kódem. Komentáře vysvětlují podrobnosti:
# Import the needed credential and management objects from the libraries.
import os
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
# Acquire a credential object using DevaultAzureCredential.
credential = DefaultAzureCredential()
# Retrieve subscription ID from environment variable.
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
# Obtain the management object for resources.
resource_client = ResourceManagementClient(credential, subscription_id)
# Provision the resource group.
rg_result = resource_client.resource_groups.create_or_update(
"PythonAzureExample-rg", {"location": "centralus"}
)
# Within the ResourceManagementClient is an object named resource_groups,
# which is of class ResourceGroupsOperations, which contains methods like
# create_or_update.
#
# The second parameter to create_or_update here is technically a ResourceGroup
# object. You can create the object directly using ResourceGroup(location=
# LOCATION) or you can express the object as inline JSON as shown here. For
# details, see Inline JSON pattern for object arguments at
# https://learn.microsoft.com/azure/developer/python/sdk
# /azure-sdk-library-usage-patterns#inline-json-pattern-for-object-arguments
print(
f"Provisioned resource group {rg_result.name} in the {rg_result.location} region"
)
# The return value is another ResourceGroup object with all the details of the
# new group. In this case the call is synchronous: the resource group has been
# provisioned by the time the call returns.
# To update the resource group, repeat the call with different properties, such
# as tags:
rg_result = resource_client.resource_groups.create_or_update(
"PythonAzureExample-rg",
{
"location": "centralus",
"tags": {"environment": "test", "department": "tech"},
},
)
print(f"Updated resource group {rg_result.name} with tags")
# Optional lines to delete the resource group. begin_delete is asynchronous.
# poller = resource_client.resource_groups.begin_delete(rg_result.name)
# result = poller.result()
Ověřování v kódu
Později v tomto článku se přihlásíte k Azure pomocí Azure CLI a spustíte vzorový kód. Pokud má váš účet oprávnění k vytváření a výpisu skupin prostředků ve vašem předplatném Azure, kód se úspěšně spustí.
Pokud chcete tento kód použít v produkčním skriptu, můžete nastavit proměnné prostředí tak, aby pro ověřování používaly metodu založenou na instančním objektu. Další informace najdete v tématu Ověřování aplikací v Pythonu pomocí služeb Azure. Musíte zajistit, aby instanční objekt má dostatečná oprávnění k vytvoření a výpisu skupin prostředků ve vašem předplatném tím, že mu v Azure přiřadíte odpovídající roli, například roli Přispěvatel ve vašem předplatném.
Referenční odkazy pro třídy použité v kódu
4: Spuštění skriptu
Pokud jste to ještě neudělali, přihlaste se k Azure pomocí Azure CLI:
az login
Nastavte proměnnou
AZURE_SUBSCRIPTION_ID
prostředí na ID vašeho předplatného. (Příkaz az account show můžete spustit a získat ID předplatnéhoid
z vlastnosti ve výstupu):Spusťte skript:
python provision_rg.py
5: Ověření skupiny prostředků
Pomocí webu Azure Portal nebo Azure CLI můžete ověřit, že skupina existuje.
Azure Portal: Otevřete Azure Portal, vyberte skupiny prostředků a zkontrolujte, jestli je skupina uvedená. Pokud už máte portál otevřený, aktualizujte seznam pomocí příkazu Aktualizovat .
Azure CLI: Použijte příkaz az group show :
az group show -n PythonAzureExample-rg
6: Vyčištění prostředků
Pokud v tomto příkladu nepotřebujete zachovat skupinu prostředků vytvořenou v tomto příkladu , spusťte příkaz az group delete . Ve vašem předplatném se za skupiny prostředků neúčtují žádné průběžné poplatky, ale za prostředky ve skupině prostředků se můžou dál účtovat poplatky. Je vhodné vyčistit jakoukoli skupinu, kterou aktivně nepoužíváte. Argument --no-wait
umožňuje, aby se příkaz vrátil okamžitě místo čekání na dokončení operace.
az group delete -n PythonAzureExample-rg --no-wait
Metodu ResourceManagementClient.resource_groups.begin_delete
můžete použít také k odstranění skupiny prostředků z kódu. Okomentovaný kód v dolní části skriptu v tomto článku ukazuje použití.
Referenční informace: Ekvivalentní příkaz Azure CLI
Následující příkaz az group create v Azure CLI vytvoří skupinu prostředků se značkami stejně jako skript Pythonu:
az group create -n PythonAzureExample-rg -l centralus --tags "department=tech" "environment=test"
Viz také
- Příklad: Výpis skupin prostředků v předplatném
- Příklad: Vytvoření služby Azure Storage
- Příklad: Použití Služby Azure Storage
- Příklad: Vytvoření webové aplikace a nasazení kódu
- Příklad: Vytvoření a dotazování databáze
- Příklad: Vytvoření virtuálního počítače
- Použití Azure Spravované disky s virtuálními počítači
- Dokončení krátkého průzkumu o sadě Azure SDK pro Python