Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 é dado 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 nos shells de comando do Linux/macOS bash e do Windows, a menos que indicado.
1: Configurar seu ambiente de desenvolvimento local
Caso ainda não tenha feito isso, configure um ambiente em que você possa executar esse código. Aqui estão algumas opções:
Configure um ambiente virtual do Python usando
venv
ou sua ferramenta de escolha. Para começar a usar o ambiente virtual, ative-o. Para instalar o Python, consulte Instalar o Python.#!/bin/bash # Create a virtual environment python -m venv .venv # Activate the virtual environment source .venv/Scripts/activate # only required for Windows (Git Bash)
Usar um ambiente conda. Para instalar o Conda, consulte Instalar o Miniconda.
Use um contêiner de desenvolvimento no Visual Studio Code ou no GitHub Codespaces.
2: Instalar os pacotes da biblioteca do Azure
No console, crie um arquivo requirements.txt que lista as bibliotecas de gerenciamento usadas neste exemplo:
azure-mgmt-resource azure-identity
No console com o ambiente virtual ativado, instale os requisitos:
pip install -r requirements.txt
3. Definir variáveis de ambiente
Nesta etapa, você definirá variáveis de ambiente para uso no código neste artigo. O código usa o os.environ
método para recuperar os valores.
#!/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: Escrever código para criar um grupo de recursos
Nesta etapa, você criará um arquivo Python chamado provision_blob.py com o código a seguir. Esse script Python usa o SDK do Azure para bibliotecas de gerenciamento do Python para criar um grupo de recursos em sua assinatura do Azure.
Crie um arquivo Python chamado provision_rg.py com 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"]
# 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()
Autenticação no código
Mais adiante neste artigo, você entra no Azure usando a CLI do Azure para executar o código de exemplo. Se sua conta tiver permissões suficientes para criar grupos de recursos e recursos de armazenamento em sua assinatura do Azure, o script deverá ser executado com êxito sem configuração adicional.
Para usar este código em um ambiente de produção, autentique-se usando um service principal configurando variáveis de ambiente. Essa abordagem permite acesso seguro e automatizado sem depender do logon interativo. Para obter diretrizes detalhadas, consulte Como autenticar aplicativos Python com os serviços do Azure.
Certifique-se de que a entidade de serviço receba uma função com permissões suficientes para criar grupos de recursos e contas de armazenamento. Por exemplo, atribuir a função Colaborador no nível da assinatura fornece o acesso necessário. Para saber mais sobre atribuições de função, consulte RBAC (controle de acesso baseado em função) no Azure.
Links de referência para classes usadas no código
5: Executar o script
Caso ainda não tenha feito isso, entre no Azure usando a CLI do Azure:
az login
Executar o script:
python provision_rg.py
6: Verificar o grupo de recursos
Você pode verificar se o grupo de recursos existe por meio do portal do Azure ou da CLI do Azure.
Portal do Azure: abra o portal do Azure, selecione Grupos de recursos e verifique se o grupo está listado. Se necessário, use o comando Atualizar para atualizar a lista.
CLI do Azure: use o comando az group show :
#!/bin/bash az group show -n $AZURE_RESOURCE_GROUP_NAME
7: 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 contínuos em sua assinatura, mas os recursos no grupo de recursos podem continuar a incorrer em encargos. É uma boa prática limpar qualquer grupo que você não esteja usando ativamente. O --no-wait
argumento permite que o comando retorne imediatamente em vez de aguardar a conclusão da operação.
#!/bin/bash
az group delete -n $AZURE_RESOURCE_GROUP_NAME --no-wait
Você também pode usar o ResourceManagementClient.resource_groups.begin_delete
método 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 az group create da CLI do Azure cria um grupo de recursos com marcas como o script Python:
az group create -n PythonAzureExample-rg -l centralus --tags "department=tech" "environment=test"
Consulte também
- Exemplo: listar grupos de recursos em uma assinatura
- Exemplo: criar o Armazenamento do Azure
- Exemplo: usar o Armazenamento do Azure
- Exemplo: criar um aplicativo Web e implantar código
- Exemplo: criar e consultar um banco de dados
- Exemplo: criar uma máquina virtual
- Usar discos gerenciados do Azure com máquinas virtuais
- Concluir uma breve pesquisa sobre o SDK do Azure para Python