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://video2.skills-academy.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.

4: Spuštění skriptu

  1. Pokud jste to ještě neudělali, přihlaste se k Azure pomocí Azure CLI:

    az login
    
  2. 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ého id z vlastnosti ve výstupu):

    set AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000
    
  3. 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é