Megosztás a következőn keresztül:


Példa: Erőforráscsoport létrehozása az Azure-kódtárak használatával

Ez a példa bemutatja, hogyan használhatja az Azure SDK felügyeleti kódtárait egy Python-szkriptben egy erőforráscsoport létrehozásához. (A Az ezzel egyenértékű Azure CLI-parancsot a jelen cikk későbbi részében találja meg. Ha inkább az Azure Portalt szeretné használni, olvassa el az Erőforráscsoportok létrehozása című témakört.)

A cikkben szereplő összes parancs ugyanúgy működik a Linux/macOS bash és a Windows parancshéjakban, hacsak fel nem jegyezzük.

1: A helyi fejlesztési környezet beállítása

Ha még nem tette meg, hozzon létre egy környezetet, ahol futtathatja ezt a kódot. Íme néhány lehetőség:

  • Python virtuális környezetet konfigurálhat a választott eszközzel vagy használatával venv . Létrehozhatja a virtuális környezetet helyileg vagy az Azure Cloud Shellben, és ott futtathatja a kódot. Mindenképpen aktiválja a virtuális környezetet a használat megkezdéséhez.

  • Használjon conda környezetet.

  • Használjon Dev-tárolót a Visual Studio Code-ban vagy a GitHub Codespace-ben.

2: Az Azure-kódtárcsomagok telepítése

Hozzon létre egy requirements.txt nevű fájlt a következő tartalommal:

azure-mgmt-resource
azure-identity

A virtuális környezetet aktiváló terminálban vagy parancssorban telepítse a követelményeket:

pip install -r requirements.txt

3: Kód írása erőforráscsoport létrehozásához

Hozzon létre egy provision_rg.py nevű Python-fájlt az alábbi kóddal. A megjegyzések a részleteket ismertetik:

# 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()

Hitelesítés a kódban

A cikk későbbi részében az Azure CLI-vel jelentkezik be az Azure-ba a mintakód futtatásához. Ha a fiókja rendelkezik erőforráscsoportok létrehozására és listázására vonatkozó engedélyekkel az Azure-előfizetésben, a kód sikeresen lefut.

Ha éles szkriptben szeretné használni az ilyen kódot, a környezeti változókat úgy állíthatja be, hogy egyszerű szolgáltatásalapú módszert használjon a hitelesítéshez. További információ: Python-alkalmazások hitelesítése az Azure-szolgáltatásokkal. Gondoskodnia kell arról, hogy a szolgáltatásnév megfelelő engedélyekkel rendelkezzen az előfizetésben lévő erőforráscsoportok létrehozásához és listázásához, ha megfelelő szerepkört rendel hozzá az Azure-ban, például az előfizetés közreműködői szerepkörét.

4: A szkript futtatása

  1. Ha még nem tette meg, jelentkezzen be az Azure-ba az Azure CLI használatával:

    az login
    
  2. Állítsa be a környezeti változót AZURE_SUBSCRIPTION_ID az előfizetés azonosítójához. (Futtathatja az az account show parancsot, és lekérheti az előfizetés azonosítóját a id kimenetben lévő tulajdonságból):

    set AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000
    
  3. Futtassa a szkriptet:

    python provision_rg.py
    

5: Az erőforráscsoport ellenőrzése

A csoport meglétét az Azure Portalon vagy az Azure CLI-vel ellenőrizheti.

  • Azure Portal: Nyissa meg az Azure Portalt, válassza ki az Erőforráscsoportokat, és ellenőrizze, hogy a csoport szerepel-e a listában. Ha már megnyitotta a portált, a Frissítés paranccsal frissítse a listát.

  • Azure CLI: használja az az group show parancsot:

    az group show -n PythonAzureExample-rg
    

6: Erőforrások törlése

Futtassa az az group delete parancsot, ha nem kell megtartania a példában létrehozott erőforráscsoportot. Az erőforráscsoportok nem járnak folyamatos díjakkal az előfizetésben, de az erőforráscsoport erőforrásai továbbra is díjakat vonhatnak maga után. Ajánlott minden olyan csoportot megtisztítani, amelyet nem használ aktívan. Az --no-wait argumentum lehetővé teszi, hogy a parancs azonnal visszatérjen a művelet befejezésére való várakozás helyett.

az group delete -n PythonAzureExample-rg  --no-wait

A metódussal ResourceManagementClient.resource_groups.begin_delete egy erőforráscsoportot is törölhet a kódból. A cikk szkriptjének alján található megjegyzéskód bemutatja a használatot.

Hivatkozás: egyenértékű Azure CLI-parancs

A következő Azure CLI az group create parancs létrehoz egy erőforráscsoportot a Python-szkripthez hasonló címkékkel:

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

Lásd még