다음을 통해 공유


Bicep 입력 매개 변수에 대한 Azure Developer CLI 메타데이터 작업

Azure Developer CLI()는azd 데코레이터를 사용하여 Bicep 템플릿을 @metadata 지원합니다. Bicep 입력 매개 변수에 메타데이터를 추가하여 지능형 기본값, 자동 값 생성 및 더 나은 매개 변수 프롬프트를 사용하여 배포를 개선합니다.

메타데이터 추가

Bicep의 입력 매개 변수는 스키마 없는 개체로 @metadata를 지원한다. 매개 변수 메타데이터에 azd 필드를 포함하여 azd 메타데이터를 추가합니다.

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

Azure Developer CLI 메타데이터는 매개 변수의 형식에 의존하지 않으며 모든 매개 변수에 추가할 수 있습니다.

지원되는 메타데이터

메타데이터 azd에 대해 지원되는 설정 필드는 다음과 같습니다.

분야 Description
type 이 매개 변수에 대한 프롬프트를 표시하는 방법을 azd 정의합니다. 예: location.
config 와 같은 generate일부 메타데이터 형식에 대한 설정을 설명합니다.
default 선택 프롬프트 중에 먼저 강조 표시할 값을 azd 정의합니다.
usageName AI 모델 위치 선택에 대한 할당량 검사를 제어합니다.

각 필드는 다음 섹션에서 자세히 설명합니다.

유형

이 구성은 입력 매개 변수에 대한 프롬프트를 표시하는 방법을 azd 정의합니다. 지원되는 형식은 다음과 같습니다.

  • 위치

    형식을 location 사용하여 입력 매개 변수가 Azure 위치를 처리하도록 지시 azd 합니다. 메타데이터에서 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

    azd에게 이 입력에 대한 리소스 그룹을 묻는 메시지를 표시하도록 resourceGroup 형식을 사용하세요.

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

    프롬프트 흐름:

    리소스 그룹 유형이 있는 프롬프트를 보여 주는 스크린샷

설정

개체는 generate 유형으로 config가 필요합니다. 자동 생성 옵션을 제어합니다. 다음 표에서는 구성 생성 옵션에 대해 설명합니다.

필드 이름 유형 Description Default
length 정수 (int) 생성된 값의 총 길이 0
noLower bool true이면 소문자를 제외합니다. false
noUpper bool true이면 대문자를 제외합니다. false
noNumeric bool true이면 숫자를 제외합니다. false
noSpecial bool true이면 특수 문자를 제외합니다. false
minLower 정수 (int) 필요한 최소 소문자 수입니다. 0
minUpper 정수 (int) 필요한 최소 대문자 수입니다. 0
minNumeric 정수 (int) 필요한 최소 숫자 수입니다. 0
minSpecial 정수 (int) 필요한 최소 특수 문자 수입니다. 0

중요합니다

모든 최소 요구 사항의 합계(MinLower + MinUpper + MinNumeric + MinSpecial)는 총 길이를 초과할 수 없습니다. "No-" 플래그가 true이면 해당 "Min-" 값을 0으로 설정합니다.

예를 들어 길이가 10이고 특수 문자가 없고 숫자가 없는 값을 생성합니다.

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

Default

강조 표시할 목록의 초기 값을 정의합니다. 형식과 location 결합하거나 정의된 옵션 목록을 사용하여 입력에 직접 적용합니다.

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

이 예제에서는 Bicep의 @allowed() 주석을 사용하여 입력 매개 변수에 대해 지원되는 값 목록을 정의합니다. 이 입력을 묻는 메시지가 표시되면 azd 허용되는 값 목록을 사용합니다. default 메타데이터의 필드는 초기 선택 영역으로 설정된 옵션을 제어합니다.

허용되는 값의 프롬프트 중에 기본값을 보여 주는 스크린샷.

사용 이름

usageName 필드는 지정된 AI SKU 및 용량을 사용할 수 있는 위치로만 위치 목록을 필터링합니다.

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

이 예제에서는 azd AI 모델에 gpt-5-mini 충분한 할당량(용량이 10개 이상)이 있는 Azure 위치만 표시합니다.

프롬프트 흐름:

AI 위치를 묻는 메시지를 표시하도록 usageName을 설정하는 스크린샷

비고

azd 는 할당량이 충분한 위치가 없는 경우 오류를 반환합니다.