Использование переменных в командах 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". Переменные в 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
Эта команда удаляет группу ресурсов со всеми ресурсами, которые она содержит.