Compartilhar via


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

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.

Confira também