Exemplo: Usar as bibliotecas do Azure para criar um 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 O comando equivalente da CLI do Azure é fornecido posteriormente neste artigo. Se preferir usar o portal do Azure, consulte Criar grupos de recursos.)
Todos os comandos neste artigo funcionam da mesma forma em shells de comando Linux/macOS bash e Windows, a menos que indicado.
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
venv
ou sua ferramenta de escolha. Você pode criar o ambiente virtual localmente ou no Azure Cloud Shell e executar o código lá. Certifique-se de ativar o ambiente virtual para começar a usá-lo.Use um ambiente de conda.
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 criar um grupo de recursos
Crie um arquivo Python chamado provision_rg.py com o código a seguir. Os comentários explicam os pormenores:
# 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()
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, consulte 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-lhe uma função apropriada no Azure, por exemplo, a função de Colaborador em sua assinatura.
Links de referência para classes usadas no código
4: Execute o script
Se ainda não o fez, inicie sessão no Azure utilizando a CLI do Azure:
az login
Defina a variável de ambiente para sua ID de
AZURE_SUBSCRIPTION_ID
assinatura. (Você pode executar o comando az account show e obter seu ID de assinatura daid
propriedade na saída):Execute o script:
python provision_rg.py
5: Verificar o grupo de recursos
Você pode verificar se o grupo 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 você já tiver o portal 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 não precisar manter o grupo de recursos criado neste exemplo. Os grupos de recursos não incorrem em encargos contínuos na sua subscrição, 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 esperar que a operação seja concluída.
az group delete -n PythonAzureExample-rg --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 tags exatamente 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 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
- Conclua uma breve pesquisa sobre o SDK do Azure para Python