Compartilhar via


Exemplo: usar as bibliotecas do Azure para criar um novo grupo de recursos

Este exemplo demonstra como usar as bibliotecas de gerenciamento do SDK do Azure em um script Python para criar um grupo de recursos. (O comando equivalente da CLI do Azure é fornecido posteriormente neste artigo. Se você preferir usar o portal do Azure, consulte Criar grupos de recursos.)

Todos os comandos neste artigo funcionam da mesma forma no bash do Linux/macOS e nos shells de comando do Windows, a menos que haja uma observação.

1: configurar seu ambiente de desenvolvimento

Caso ainda não tenha feito isso, configure um ambiente onde você possa executar esse código. Estas são algumas opções:

2: instalar os pacotes de biblioteca do Azure

Crie um arquivo chamado requirements.txt com o conteúdo abaixo:

azure-mgmt-resource
azure-identity

Em um terminal ou prompt de comando com o ambiente virtual ativado, instale os requisitos:

pip install -r requirements.txt

3: escrever código para criar um grupo de recursos

Crie um arquivo Python com o nome provision_rg.py e o código a seguir. Os comentários explicam os detalhes:

# 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://zcusa.951200.xyz/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()

Autenticação no código

Mais adiante neste artigo, você entra no Azure com a CLI do Azure para executar o código de exemplo. Se sua conta tiver permissões para criar e listar grupos de recursos em sua assinatura do Azure, o código será executado com êxito.

Para usar esse código em um script de produção, você pode definir variáveis de ambiente para usar um método baseado em entidade de serviço para autenticação. Para saber mais, confira Como autenticar aplicativos Python com serviços do Azure. Você precisa garantir que a entidade de serviço tenha permissões suficientes para criar e listar grupos de recursos em sua assinatura, atribuindo uma função apropriada no Azure; por exemplo, a função Colaborador na sua assinatura.

4: executar o script

  1. Caso ainda não tenha feito isso, entre no Azure usando a CLI do Azure:

    az login
    
  2. Defina a variável de ambiente AZURE_SUBSCRIPTION_ID como a sua ID da assinatura. (Você pode executar o comando az account show e obter sua ID de assinatura da propriedade id na saída):

    set AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000
    
  3. Executar o script:

    python provision_rg.py
    

5: verificar o grupo de recursos

Você pode verificar se o grupo existe pelo portal do Azure ou da CLI do Azure.

  • Portal do Azure: abra o Portal do Azure, selecione Grupos de recursos e veja se o grupo aparece na lista. Se o portal já estiver aberto, use o comando Atualizar para atualizar a lista.

  • CLI do Azure: use o comando az group show:

    az group show -n PythonAzureExample-rg
    

6: limpar recursos

Execute o comando az group delete se você não precisar manter o grupo de recursos criado neste exemplo. Os grupos de recursos não incorrem em encargos adicionais em sua assinatura, mas recursos, no grupo de recursos podem continuar a incorrer em encargos. É prática recomendada limpar qualquer grupo que você não esteja usando ativamente. O argumento --no-wait permite que o comando seja retornado imediatamente, em vez de esperar a conclusão da operação.

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

Você também pode usar o método ResourceManagementClient.resource_groups.begin_delete para excluir um grupo de recursos do código. O código comentado na parte inferior do script neste artigo demonstra o uso.

Para referência: comando equivalente da CLI do Azure

O seguinte comando da CLI do Azure az group create cria um grupo de recursos com marcas, assim como o script Python:

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

Confira também