Поделиться через


Использование переменных в командах Azure CLI

Помимо указания значений непосредственно в команде, можно указать значения несколькими способами:

  • Использование переменных оболочки
  • Настройка подписки для использования в нескольких командах
  • Создание значений по умолчанию для некоторых параметров

В этой статье рассматриваются различные способы указания значений в командах Azure CLI.

Предпосылки

Использование переменных оболочки

Azure CLI выполняется в оболочке. В этой статье используется Bash. Дополнительные сведения о других языках сценариев см. в разделе "Выбор подходящего средства командной строки Azure". Переменные в Bash можно использовать для передачи значений для параметров командам. Использование переменных с Azure CLI также позволяет повторно использовать команды, как по частям, так и в скриптах.

В этом примере создается новый диск хранилища того же типа, что и диск хранилища на существующей виртуальной машине.

# 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

В этом примере показано, как назначать значения переменным, которые повторно используются, например MyResourceGroup и osType. Команда az vm get-instance-view в сочетании с запросом storageProfile.osDisk.osType возвращает тип ОС диска. Оборачивание команды с $() присваивает возвращаемое значение команды osType. Дополнительные сведения о --query и запросах JMESPath см. статью "Как запросить выходные данные команд Azure CLI с помощью запроса JMESPath".

При назначении значения переменной из другой команды убедитесь, что команда использует совместимый выходной формат. Команда az vm get-instance-view использует выходной tsv формат. Этот параметр возвращает значения без дополнительного форматирования, ключей или других символов. Некоторые форматы выходных данных включают структуру или символы, такие как кавычки. Дополнительные сведения см. в статье Форматы выходных данных для команд Azure CLI.

В этом примере переменная MySubscription должна находиться в кавычках. Значение переменной содержит пробелы, которые команда не может проанализировать. Если вы работаете только с идентификаторами подписок, вам не нужно использовать кавычки.

Настройка подписки

Для многих команд требуется определенная подписка. Ресурсы Azure существуют в группах ресурсов, которые существуют в подписках. Azure CLI использует подписку по умолчанию при выполнении сеанса. Чтобы просмотреть текущее значение подписки, выполните команду az account show :

az account show --output table

У вас может быть доступ только к одной подписке. Для получения дополнительной информации см. статью Use Azure subscriptions with Azure CLI. Команду az account set можно использовать для установки текущей подписки:

az account set --subscription "My Demos"

После установки подписки можно опустить --Subscription параметр. Дополнительные сведения см. в статье "Использование подписок Azure с помощью Azure CLI".

Создание значений по умолчанию

Значения для некоторых параметров можно задать с помощью команды az config set . В этом примере устанавливается группа ресурсов по умолчанию:

az config set defaults.group=ContosoRGforVM

После выполнения этой команды можно выполнить следующую команду, чтобы создать учетную запись хранения в группе ресурсов ContosoRGforVM:

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

Обратите внимание на то, что в данной команде не указана группа ресурсов. Дополнительные сведения см. в разделе "Настройка группы ресурсов по умолчанию".

Подсказка

Команды, получающие значения для параметров различными способами, могут вызывать путаницу. Если команда дает непредвиденный результат, например не удается найти группу ресурсов, может быть значение по умолчанию.

Если возникла ошибка, выполните команду еще раз с указанным параметром и значением. Явное значение параметра всегда имеет приоритет над другими параметрами.

Таким образом можно указать значения для нескольких параметров. Дополнительные сведения см. в статье о конфигурации Azure CLI.

Очистите ресурсы

Если вы создали ресурсы, чтобы попробовать любую из команд в этой статье, их можно удалить с помощью команды az group delete :

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

Эта команда удаляет группу и все ресурсы, содержащиеся в ней одновременно.

См. также