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. Tady jsou některé možnosti:

  • Nakonfigurujte virtuální prostředí Pythonu pomocí venv nebo libovolného nástroje podle vašeho výběru. Pokud chcete začít používat virtuální prostředí, nezapomeňte ho aktivovat. Pokud chcete nainstalovat Python, přečtěte si téma Instalace Pythonu.

    #!/bin/bash
    # Create a virtual environment
    python -m venv .venv
    # Activate the virtual environment
    source .venv/Scripts/activate # only required for Windows (Git Bash)
    
  • Použijte prostředí Conda. Pokud chcete nainstalovat Conda, přečtěte si téma Instalace Miniconda.

  • Použijte vývojový kontejner v editoru Visual Studio Code nebo GitHub Codespaces.

2: Instalace balíčků knihovny Azure

  1. V konzole vytvořte souborrequirements.txt se seznamem knihoven pro správu použitých v tomto příkladu:

    azure-mgmt-resource
    azure-identity
    
  2. V konzole s aktivovaným virtuálním prostředím nainstalujte požadavky:

    pip install -r requirements.txt
    

3. Nastavení proměnných prostředí

V tomto kroku nastavíte proměnné prostředí pro použití v kódu v tomto článku. Kód používá metodu os.environ k načtení hodnot.

#!/bin/bash
export AZURE_RESOURCE_GROUP_NAME=<ResourceGroupName> # Change to your preferred resource group name
export LOCATION=<Location> # Change to your preferred region
export AZURE_SUBSCRIPTION_ID=$(az account show --query id --output tsv)

4: Napsání kódu pro vytvoření skupiny prostředků

V tomto kroku vytvoříte soubor Python s názvem provision_rg.py s následujícím kódem. Tento Pythonový skript používá sadu Azure SDK pro správu prostřednictvím Pythonu k vytvoření skupiny prostředků ve vašem předplatném Azure.

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 DefaultAzureCredential.
credential = DefaultAzureCredential()

# Retrieve subscription ID from environment variable.
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]

# Retrieve resource group name and location from environment variables
RESOURCE_GROUP_NAME = os.environ["AZURE_RESOURCE_GROUP_NAME"]
LOCATION = os.environ["LOCATION"]

# 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(RESOURCE_GROUP_NAME,
    { "location": LOCATION })

print(f"Provisioned resource group {rg_result.name}")

# 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(
    RESOURCE_GROUP_NAME,
    {
        "location": LOCATION,
        "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 ke spuštění ukázkového kódu. Pokud má váš účet dostatečná oprávnění k vytváření skupin prostředků a prostředků úložiště ve vašem Azure předplatném, skript se úspěšně spustí bez další konfigurace.

Chcete-li tento kód používat v produkčním prostředí, pro ověřování použijte instanční objekt služby a nastavte proměnné prostředí. Tento přístup umožňuje zabezpečený a automatizovaný přístup bez nutnosti spoléhat se na interaktivní přihlašování. Podrobné pokyny najdete v tématu Ověřování aplikací v Pythonu pomocí služeb Azure.

Zajistěte, aby byl servisnímu účtu přiřazená role s dostatečnými oprávněními pro vytváření skupin prostředků a účtů úložiště. Například přiřazení role Přispěvatel na úrovni předplatného poskytuje potřebný přístup. Další informace o přiřazeních rolí najdete v tématu Řízení přístupu na základě role (RBAC) v Azure.

5: Spuštění skriptu

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

    az login
    
  2. Spusťte skript:

    python provision_rg.py
    

6: Ověřte skupinu prostředků

Pomocí webu Azure Portal nebo Azure CLI můžete ověřit, že skupina prostředků existuje.

  • Azure Portal: Otevřete Azure Portal, vyberte skupiny prostředků a zkontrolujte, jestli je skupina uvedená. V případě potřeby aktualizujte seznam pomocí příkazu Aktualizovat .

  • Azure CLI: Použijte příkaz az group show :

    #!/bin/bash
    az group show -n $AZURE_RESOURCE_GROUP_NAME
    

7: 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 prostředků, 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.

#!/bin/bash
az group delete -n $AZURE_RESOURCE_GROUP_NAME --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 Azure CLI vytvoří skupinu prostředků s tagy podobně jako Python skript.

az group create -n PythonAzureExample-rg -l centralus --tags "department=tech" "environment=test"

Viz také