Share via


Uso de variables en comandos de la CLI de Azure

Además de especificar los valores directamente en un comando, puede proporcionar valores de varias maneras:

  • Uso de variables de shell
  • Establecimiento de una suscripción para su uso en varios comandos
  • Creación de valores predeterminados para algunos parámetros

En este artículo se describen varias maneras de especificar valores en los comandos de la CLI de Azure.

Requisitos previos

Uso de variables de shell

La CLI de Azure se ejecuta en un shell. En este artículo se usa Bash. Para más información sobre otros shells, consulte Uso de la CLI de Azure de forma eficaz. Puede usar variables en Bash para pasar valores de parámetros a comandos. El uso de variables con la CLI de Azure también permite la reutilización de comandos, ya sea individualmente o en scripts.

En este ejemplo, se crea un nuevo disco de almacenamiento del mismo tipo que el disco de almacenamiento de una 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

En este ejemplo, se muestra cómo asignar valores a las variables que se reutilizan, como MyResourceGroup y osType. El uso combinado del comando az vm get-instance-view y la consulta storageProfile.osDisk.osType devuelve el tipo de sistema operativo del disco. Además, el uso de $() para ajustar el comando asigna el valor devuelto del comando a la variable osType. Para más información sobre el formato de salida --query y las consultas de JMESPath, consulte el artículo Cómo consultar la salida de un comando de la CLI de Azure mediante una consulta JMESPath.

Cuando asigne un valor a una variable desde otro comando, asegúrese de que el comando usa un formato de salida compatible. El comando az vm get-instance-view usa el formato de salida tsv. Esta opción devuelve valores sin formato, claves u otros símbolos adicionales. Algunos formatos de salida incluyen una estructura o caracteres como comillas. Para más información, consulte Formatos de salida de los comandos de la CLI de Azure.

En este ejemplo, la variable MySubscription debe estar entre comillas. El valor de la variable contiene espacios, que el comando no puede analizar. Si solo trabaja con identificadores de suscripción, no es necesario usar comillas.

Establecimiento de una suscripción

Muchos comandos requieren una suscripción específica. Los recursos de Azure existen en los grupos de recursos, que existen en las suscripciones. La CLI de Azure usa una suscripción predeterminada cuando se está en una sesión. Para consultar el valor de su suscripción actual, ejecute el comando az account show:

az account show --output table

Es posible que tenga acceso solo a una suscripción. Para más información, consulte Uso de suscripciones de Azure con la CLI de Azure. Puede usar el comando az account set para establecer su suscripción actual:

az account set --subscription "My Demos"

Después de establecer la suscripción, puede omitir el parámetro --Subscription. Para más información, consulte Uso de las suscripciones de Azure con la CLI de Azure.

Creación de valores predeterminados

Puede establecer valores para algunos parámetros usando el comando az config set. En este ejemplo se establece un grupo de recursos predeterminado:

az config set defaults.group=ContosoRGforVM

Después de ejecutar este comando, puede ejecutar el siguiente comando para crear una cuenta de almacenamiento en el grupo de recursos ContosoRGforVM:

az storage account create --name storage135 --location eastus --sku Standard_LRS

Tenga en cuenta que no hay ningún grupo de recursos especificado en el comando. Para más información, consulte Establecimiento de un grupo de recursos predeterminado.

Sugerencia

Los comandos que obtienen valores para los parámetros de distintas formas pueden crear confusión. Si un comando genera un resultado inesperado, por ejemplo, no encuentra un grupo de recursos, puede haber un valor predeterminado.

Si se produce un error, vuelva a ejecutar el comando con el parámetro y el valor especificados. El valor explícito de un parámetro siempre tiene prioridad sobre otras opciones.

Puede especificar valores para varios parámetros de esta forma. Para más información, consulte Configuración de la CLI de Azure.

Limpieza de recursos

Si ha creado recursos para probar alguno de los comandos de este artículo, puede eliminarlos usando el comando az group delete:

az group delete --name ContosoRGforVM
az group delete --name ContosoStorageRG

Este comando elimina el grupo y todos los recursos que contiene a la vez.

Consulte también