Como usar variáveis em comandos da CLI do Azure
Além de especificar valores diretamente em um comando, você pode fornecer valores de várias maneiras:
- Usar variáveis do shell
- Definir uma assinatura para uso em vários comandos
- Criar valores padrão para alguns parâmetros
Este artigo aborda várias maneiras de especificar valores em comandos da CLI do Azure.
Pré-requisitos
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Início Rápido para Bash no Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
Usar variáveis do shell
A CLI do Azure é executada em um shell. Este artigo usa o Bash. Para obter informações sobre outras linguagens de script, consulte Escolher a ferramenta de linha de comando do Azure correta. Você pode usar variáveis no Bash para passar valores de parâmetros para comandos. O uso de variáveis com a CLI do Azure também permite a reutilização de comandos, em etapas ou em scripts.
Este exemplo cria um disco de armazenamento do mesmo tipo que o disco de armazenamento em uma máquina virtual existente.
# Bash script
# Assign values to variables
MyResourceGroup=ContosoRGforVM
MySubscription="Contoso subscription"
vmName=VM01
# Get a value for a variable based on an existing virtual machine
osType=$(az vm get-instance-view --resource-group $MyResourceGroup \
--name $vmName --subscription "$MySubscription" \
--query 'storageProfile.osDisk.osType' --output tsv)
# Create a disk of the same type by using the variable value
az disk create --resource-group $MyResourceGroup --name DestinationDisk --size-gb 20 --os-type $osType
Este exemplo mostra como atribuir valores a variáveis que são reutilizadas, como MyResourceGroup e osType. O comando az vm get-instance-view combinado com a consulta storageProfile.osDisk.osType
retorna o tipo de SO do disco. O encapsulamento do comando com $()
atribui o valor retornado do comando a osType
. Para saber mais sobre --query
e consultas JMESPath, confira Como consultar a saída do comando da CLI do Azure usando uma consulta JMESPath.
Quando você atribui um valor a uma variável de outro comando, verifique se o comando usa um formato de saída compatível. O comando az vm get-instance-view usa o formato de saída tsv
. Essa opção retorna valores sem formatação extra, chaves ou outros símbolos. Alguns formatos de saída incluem estrutura ou caracteres como aspas. Para obter mais informações, confira Formatos de saída para comandos da CLI do Azure.
Neste exemplo, a variável MySubscription precisa estar entre aspas. O valor da variável contém espaços, que o comando não consegue analisar. Se você trabalhar apenas com IDs de assinatura, não precisará usar aspas.
Definir uma assinatura
Muitos comandos exigem uma assinatura específica. Existem recursos do Azure em grupos de recursos, que existem em assinaturas. A CLI do Azure usa uma assinatura padrão quando você está em uma sessão. Para ver o seu valor de assinatura atual, execute o comando az account show:
az account show --output table
Você poderia ter acesso a apenas uma assinatura. Para obter mais informações, confira Usar assinaturas do Azure com a CLI do Azure Você pode usar o comando az account set para definir sua assinatura atual:
az account set --subscription "My Demos"
Depois de definir sua assinatura, você pode omitir o parâmetro --Subscription
. Para obter mais informações, confira Usar assinaturas do Azure com a CLI do Azure.
Criar valores padrão
Você pode definir valores para alguns parâmetros usando o comando az config set. Este exemplo define um grupo de recursos padrão:
az config set defaults.group=ContosoRGforVM
Depois de executar esse comando, você poderá executar o seguinte comando para criar uma conta de armazenamento no grupo de recursos ContosoRGforVM:
az storage account create --name storage135 --location eastus --sku Standard_LRS
Observe que não há nenhum grupo de recursos especificado no comando. Para obter mais informações, confira Definir um grupo de recursos padrão.
Dica
Os comandos que obtêm valores para parâmetros de maneiras diferentes podem ser confusos. Se um comando der um resultado inesperado, como a impossibilidade de localizar um grupo de recursos, pode haver um valor padrão.
Se você encontrar um erro, execute o comando novamente com o parâmetro e o valor especificado. Um valor explícito para um parâmetro sempre tem precedência sobre outras opções.
Você pode especificar valores para vários parâmetros dessa maneira. Para obter mais informações, confira a Configuração da CLI do Azure.
Limpar os recursos
Se você criou recursos para experimentar qualquer um dos comandos neste artigo, você pode removê-los usando o comando az group delete:
az group delete --name ContosoRGforVM
az group delete --name ContosoStorageRG
Esse comando remove o grupo e todos os recursos que ele contém ao mesmo tempo.