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

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

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

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

Необходимые компоненты

  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.

  • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

    • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

    • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

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

Azure CLI выполняется в оболочке. В этой статье используется Bash. Дополнительные сведения о других оболочках см. в статье Эффективное использование Azure CLI. Переменные в 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

У вас может быть доступ только к одной подписке. См. дополнительные сведения в статье Использование подписок Azure с помощью 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

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

См. также