Работа с метаданными Azure Developer CLI для входных параметров Bicep

Интерфейс командной строки разработчика Azure (azd) поддерживает шаблоны Bicep с декоратором @metadata . Добавьте метаданные к входным параметрам Bicep, чтобы улучшить развертывание за счет интеллектуальных значений по умолчанию, автоматической генерации значений и улучшенного ввода параметров.

Добавление метаданных

Входные параметры в Bicep поддерживают @metadata как объект без схемы. Добавьте azd метаданные, включив azd поле в метаданные параметра:

@metadata({
  azd: {}
})
param someInput <param-type>

Метаданные интерфейса командной строки разработчика Azure не зависят от типа параметра, и его можно добавить в любой параметр.

Поддерживаемые метаданные

Поддерживаемые поля конфигурации для azd метаданных:

Поле Description
type Определяет, как azd запрашивает этот параметр. Например: location.
config Описывает параметры для некоторых типов метаданных, например generate.
default Определяет значение для azd, чтобы выделить первым во время запроса выбора.
usageName Управляет проверкой квот при выборе расположения для модели ИИ.

Каждое поле подробно описано в следующих разделах.

Тип

Эта конфигурация определяет, как azd запрашивает входной параметр. К поддерживаемым типам относятся:

  • расположение

    Используйте тип location, чтобы сообщить azd, что входной параметр отвечает за обработку местоположения Azure. Когда azd находит location тип в метаданных, он запрашивает значение через список выбора расположения. Рассмотрим пример.

    @metadata({
      azd: {
        type: 'location'
      }
    })
    param someInput string
    

    Поток запроса:

    Снимок экрана с запросом на доступ к местоположению и метаданными.

    Объедините location тип с default полем для управления расположением, которое выделяется первым во время потока запроса. Рассмотрим пример.

    @metadata({
      azd: {
        type: 'location'
        default: 'westus'
      }
    })
    param someInput string
    

    Процесс подсказок:

    Снимок экрана: запрос на расположение с метаданными, включающими значение по умолчанию.

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

  • генерировать

    Используйте generate тип, чтобы azd сообщить автоматически создать значение для входного параметра. Этот тип часто используется для создания паролей или уникальных идентификаторов:

    @metadata({
      azd: {
        type: 'generate'
        config: {
          length: 10
        }
      }
    })
    param someInput string
    

    Замечание

    Поле config требуется с type: 'generate'.

    При azd выполнении он создает 10-символьное значение для входного параметра без запроса ввода. Сведения о настройке значений автоматического создания см. в разделе конфигурации .

  • resourceGroup

    Используйте тип resourceGroup, чтобы указать azd запросить группу ресурсов для этого ввода.

    @metadata({
      azd: {
        type: 'resourceGroup'
      }
    })
    param someInput string
    

    Поток запроса:

    Снимок экрана: запрос с типом группы ресурсов.

Config

Объект config требуется с типом generate . Он управляет опциями автоматического создания. В следующей таблице описаны параметры создания конфигурации:

Имя поля Тип Description По умолчанию
length инт Общая длина созданного значения 0
noLower bool Если установлено значение true, исключаются строчные буквы. false
noUpper bool Если true, исключает прописные буквы. false
noNumeric bool Если условие истинно, исключает числа. false
нет особого bool Если true, исключает специальные символы. false
minLower инт Минимальное количество строчных букв. 0
minUpper инт Минимальное количество требуемых прописных букв. 0
minNumeric инт Минимальное количество обязательных чисел. 0
minSpecial инт Минимальное количество специальных символов. 0

Это важно

Сумма всех минимальных требований (MinLower + MinUpper + MinNumeric + MinSpecial) не может превышать общую длину. Если какой-либо флаг No-имеет значение true, задайте для соответствующего значения Min-значение 0.

Например, создайте значение длиной 10, без специальных символов и чисел:

@metadata({
  azd: {
    type: 'generate'
    config: {
      length: 10
      noNumeric: true
      noSpecial: true
    }
  }
})
param someInput string

По умолчанию

Определяет начальное значение из списка для выделения. Объедините его с location типом или примените его непосредственно к входным данным с определенным списком параметров:

@allowed(['foo', 'bar', 'baz'])
@metadata({
  azd: {
    default: 'baz'
  }
})
param someInput string

В этом примере используется заметка @allowed() из Bicep для определения списка поддерживаемых значений входного параметра. Когда появится запрос на ввод azd, используется список разрешенных значений. Поле default в метаданных определяет, какой параметр задан в качестве начального выбора:

Снимок экрана, показывающий значение по умолчанию в запросе из допустимых значений.

Название использования

Поле usageName фильтрует список расположений только в тех местах, где доступны указанный SKU искусственного интеллекта (ИИ), и мощность:

@metadata({
  azd: {
    type: 'location'
    usageName: [
      'OpenAI.GlobalStandard.gpt-5-mini,10'
    ]
  }
})
param someInput string

В этом примере azd показаны только расположения Azure, в которых модель gpt-5-mini ИИ имеет достаточно квоты (емкость не менее 10).

Поток запроса:

Снимок экрана, показывающий настройку usageName для вызова расположения ИИ.

Замечание

azd возвращает ошибку, если в месте не имеется достаточно квоты.