Sdílet prostřednictvím


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 Pythonu s názvem provision_blob.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 DevaultAzureCredential.
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 předplatném Azure, skript by se měl úspěšně spustit bez další konfigurace.

Pokud chcete tento kód použít v produkčním prostředí, ověřte se pomocí instančního objektu nastavením proměnných prostředí. Tento přístup umožňuje zabezpečený a automatizovaný přístup bez nutnosti spoléhat se na interaktivní přihlášení. 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, 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é