Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este exemplo demonstra como usar as bibliotecas de gerenciamento do SDK do Azure em um script Python para executar duas tarefas:
- Liste todos os grupos de recursos em uma assinatura do Azure.
- Listar recursos dentro de um grupo de recursos específico.
Todos os comandos neste artigo funcionam da mesma forma em shells de comando Linux/macOS bash e Windows, a menos que indicado.
Os comandos equivalentes da CLI do Azure são listados posteriormente neste artigo.
1: Configure seu ambiente de desenvolvimento local
Se ainda não o fez, configure um ambiente onde possa executar este código. Seguem-se algumas opções:
- Configure um ambiente virtual Python usando
venvou sua ferramenta de preferência. Para começar a usar o ambiente virtual, não deixe de ativá-lo. Para instalar Python, consulte Install Python.
#!/bin/bash
# Create a virtual environment
python -m venv venv
# Activate the virtual environment
source venv/bin/activate
Utilize um ambiente de conda. Para instalar o Conda, consulte Instalar o Miniconda.
Use um contêiner de desenvolvimento no Visual Studio Code ou GitHub Codespaces.
2: Instalar os pacotes de biblioteca do Azure
Crie um arquivo chamado requirements.txt com o seguinte conteúdo:
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: Escreva código para trabalhar com grupos de recursos
3 bis. Listar grupos de recursos em uma assinatura
Crie um arquivo Python chamado list_groups.py com o código a seguir. Os comentários explicam os pormenores:
# Import the needed credential and management objects from the libraries.
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
import os
# Acquire a credential object.
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)
# Retrieve the list of resource groups
group_list = resource_client.resource_groups.list()
# Show the groups in formatted output
column_width = 40
print("Resource Group".ljust(column_width) + "Location")
print("-" * (column_width * 2))
for group in list(group_list):
print(f"{group.name:<{column_width}}{group.location}")
3b. Listar recursos dentro de um grupo de recursos específico
Crie um arquivo Python chamado list_resources.py com o código a seguir. Os comentários explicam os detalhes.
Por defeito, o código lista recursos em myResourceGroup. Para usar um grupo de recursos diferente, defina a RESOURCE_GROUP_NAME variável de ambiente como o nome do grupo desejado.
# Import the needed credential and management objects from the libraries.
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
import os
# Acquire a credential object.
credential = DefaultAzureCredential()
# Retrieve subscription ID from environment variable.
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
# Retrieve the resource group to use, defaulting to "myResourceGroup".
resource_group = os.getenv("RESOURCE_GROUP_NAME", "myResourceGroup")
# Obtain the management object for resources.
resource_client = ResourceManagementClient(credential, subscription_id)
# Retrieve the list of resources in "myResourceGroup" (change to any name desired).
# The expand argument includes additional properties in the output.
resource_list = resource_client.resources.list_by_resource_group(
resource_group, expand = "createdTime,changedTime")
# Show the groups in formatted output
column_width = 36
print("Resource".ljust(column_width) + "Type".ljust(column_width)
+ "Create date".ljust(column_width) + "Change date".ljust(column_width))
print("-" * (column_width * 4))
for resource in list(resource_list):
print(f"{resource.name:<{column_width}}{resource.type:<{column_width}}"
f"{str(resource.created_time):<{column_width}}{str(resource.changed_time):<{column_width}}")
Autenticação no código
Mais adiante neste artigo, inicia sessão no Azure usando a CLI do Azure para executar o código de exemplo. Se a sua conta tiver permissões para criar e listar grupos de recursos na sua subscrição do Azure, o código corre com sucesso.
Para usar este código num script de produção, defina as variáveis de ambiente para usar um método baseado no principal de serviço para autenticação. Para saber mais, consulte Como autenticar aplicativos Python com serviços do Azure. Assegure que o principal do serviço tem permissões suficientes para criar e listar grupos de recursos na sua subscrição, atribuindo-lhe um papel apropriado em Azure; por exemplo, o papel Contribuidor na sua subscrição.
Links de referência para classes usadas no código
4: Executar os scripts
Se ainda não o fez, inicie sessão no Azure com a CLI do Azure:
az loginDefina a variável de ambiente
AZURE_SUBSCRIPTION_IDpara o seu ID de subscrição. (Execute o comando az account show e obtenha o ID da sua subscrição a partir da propriedadeidno resultado):export AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000Liste todos os grupos de recursos na subscrição:
python list_groups.pyListar todos os recursos em um grupo de recursos:
python list_resources.pyPor defeito, o código lista recursos em
myResourceGroup. Para usar um grupo de recursos diferente, defina aRESOURCE_GROUP_NAMEvariável de ambiente como o nome do grupo desejado.
Para referência: comandos equivalentes da CLI do Azure
O seguinte comando da CLI do Azure lista grupos de recursos em uma assinatura:
az group list
O seguinte comando lista recursos dentro da myResourceGroup região centralus (o location argumento é necessário para identificar um centro de dados específico):
az resource list --resource-group myResourceGroup --location centralus
Ver também
- Exemplo: provisionar um grupo de recursos
- Exemplo: provisionar o Armazenamento do Azure
- Exemplo: Usar o Armazenamento do Azure
- Exemplo: provisionar um aplicativo Web e implantar código
- Exemplo: provisionar e consultar um banco de dados
- Exemplo: provisionar uma máquina virtual
- Usar Discos Gerenciados do Azure com máquinas virtuais
- Conclua uma breve pesquisa sobre o SDK do Azure para Python