Указание значений в командах Azure CLI

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

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

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

Предварительные требования

  • Azure Cloud Shell можно использовать в среде Bash.

    Запуск Cloud Shell в новом окне

  • При необходимости установите Azure CLI, чтобы выполнять справочные команды CLI.

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

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

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

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

# 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 использует формат 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 config param-persist on

После этого создайте группу ресурсов:

az group create --name ContosoStorageRG --location eastus

Так как функция сохраняемости включена, вы можете не включать параметр --resource-group в будущие команды. Следующая команда создает учетную запись хранения в группе ресурсов ContosoStorageRG:

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

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

Вы можете удалить сохраненные параметры, выполнив команду az config param-persist delete:

az config param-persist delete --all

Дальнейшие действия