Praca z metadanymi interfejsu wiersza polecenia dla deweloperów platformy Azure dla parametrów wejściowych Bicep

Azure Developer CLI (azd) obsługuje szablony Bicep z dekoratorem @metadata. Dodaj metadane do parametrów wejściowych Bicep, aby ulepszyć wdrażanie poprzez inteligentne wartości domyślne, automatyczne generowanie wartości parametrów oraz lepsze monitowanie parametrów.

Dodawanie metadanych

Parametry wejściowe w Bicep obsługują @metadata jako obiekt bez schematu. Dodaj azd metadane, dołączając azd pole w metadanych parametru:

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

Metadane interfejsu wiersza polecenia platformy Azure nie zależą od typu parametru i można dodać je do dowolnego parametru.

Obsługiwane metadane

Obsługiwane pola konfiguracji metadanych azd to:

(No changes needed) Description
type Definiuje sposób azd monitowania dla tego parametru. Na przykład location.
config Opisuje ustawienia niektórych typów metadanych, takich jak generate.
default Definiuje wartość, która jako pierwsza ma być wyróżniana podczas monitu wybierania dla azd.
usageName Kontroluje sprawdzanie limitów dla wyboru lokalizacji modelu AI.

Każde pole zostało szczegółowo opisane w poniższych sekcjach.

Typ

Ta konfiguracja definiuje sposób azd monitowania o parametr wejściowy. Obsługiwane typy obejmują:

  • lokalizacja

    Użyj typu location, aby poinformować azd, że parametr wejściowy obsługuje lokalizację platformy Azure. Po tym jak azd znajdzie typ location w metadanych, wyświetla monit o wprowadzenie wartości za pomocą listy wyboru lokalizacji. Przykład:

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

    Przepływ monitu:

    Zrzut ekranu przedstawiający monit o lokalizację z metadanymi.

    Połącz typ location z polem default, aby kontrolować, która lokalizacja jest najpierw wyróżniona podczas sekwencji monitów. Przykład:

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

    Przepływ monitowania:

    Zrzut ekranu przedstawiający monit o lokalizację z metadanymi zawierającymi wartość domyślną.

    Wyróżniona opcja domyślna jest zgodna z polem default z metadanych. Takie podejście umożliwia autorom szablonów zalecenie lokalizacji, gdy użytkownicy mogą ją potwierdzić lub zmienić. Ustawienie wartości domyślnej parametru wejściowego w Bicep pomija przepływ monitu i używa wartości domyślnej bez potwierdzenia użytkownika.

  • stworzyć

    Użyj typu generate, aby polecić azd, aby automatycznie utworzyć wartość dla parametru wejściowego. Ten typ jest często używany do generowania haseł lub unikatowych identyfikatorów:

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

    Uwaga / Notatka

    Pole config jest wymagane wraz z type: 'generate'.

    Podczas działania azd generuje wartość o długości 10 znaków dla parametru wejściowego bez monitowania o podanie danych. Zobacz sekcję konfiguracji , aby uzyskać opcje konfigurowania wartości automatycznego generowania.

  • resourceGroup

    resourceGroup Użyj typu , aby wyświetlić azd monit o podanie grupy zasobów dla tych danych wejściowych:

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

    Przepływ monitu:

    Zrzut ekranu przedstawiający monit z typem grupy zasobów.

Config

Obiekt config jest wymagany z typem generate . Steruje opcjami automatycznego generowania. W poniższej tabeli opisano opcje generowania konfiguracji:

Nazwa pola Typ Description Default
length int Łączna długość wygenerowanej wartości 0
noLower bool Jeśli jest prawdą, wyklucza małe litery. false
noUpper bool Jeśli ustawiono na true, wyklucza wielkie litery. false
noNumeric bool Jeśli ustawione na true, wyklucza liczby. false
bez specjalnych znaków bool Jeśli jest wartość true, wyklucza znaki specjalne. false
minLower int Wymagana minimalna liczba małych liter. 0
minUpper int Wymagana minimalna liczba wielkich liter. 0
minNumeric int Wymagana minimalna liczba. 0
minSpecial int Wymagana minimalna liczba znaków specjalnych. 0

Ważne

Suma wszystkich minimalnych wymagań (MinLower + MinUpper + MinNumeric + MinSpecial) nie może przekroczyć całkowitej długości. Jeśli jakakolwiek flaga "No-" jest prawdziwa, ustaw odpowiadającą jej wartość "Min-" na 0.

Na przykład wygeneruj wartość o długości 10, bez znaków specjalnych i bez liczb:

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

Default

Definiuje początkową wartość z listy do wyróżnienia. Połącz go z typem location lub zastosuj go bezpośrednio do danych wejściowych ze zdefiniowaną listą opcji:

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

W tym przykładzie @allowed() użyto adnotacji z Bicep, aby zdefiniować listę obsługiwanych wartości parametru wejściowego. Podczas, gdy azd prosi o podanie tych danych wejściowych, używa listy dozwolonych wartości. Pole default w kontrolkach metadanych określa, która opcja jest ustawiana jako wybór początkowy:

Zrzut ekranu przedstawiający domyślne ustawienie podczas wyświetlania monitu z dozwolonych wartości.

Nazwa użycia

Pole usageName filtruje listę lokalizacji tylko do lokalizacji, w których dostępna jest dana jednostka SKU i pojemność sztucznej inteligencji:

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

W tym przykładzie azd pokazano tylko lokalizacje platformy Azure, w których model gpt-5-mini sztucznej inteligencji ma wystarczający limit przydziału (pojemność co najmniej 10).

Przepływ monitu:

Zrzut ekranu przedstawiający ustawienie usageName do wywołania monitu o lokalizację AI.

Uwaga / Notatka

azd Zwraca błąd, jeśli nie ma lokalizacji z wystarczającą ilością przydziału.