Práce s metadaty Azure Developer CLI pro vstupní parametry nástroje Bicep

Azure Developer CLI (azd) podporuje šablony Bicep s dekorátorem @metadata . Přidání metadat do vstupních parametrů Bicep za účelem zlepšení nasazení s inteligentními výchozími hodnotami, automatickým generováním hodnot a lepší výzvou k zadání parametrů

Přidání metadat

Vstupní parametry v Bicep podporují @metadata jako objekt bez schématu. Přidejte azd metadata zahrnutím azd pole do metadat parametrů:

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

Metadata Azure Developer CLI nezávisí na typu parametru a můžete je přidat do libovolného parametru.

Podporovaná metadata

Podporovaná konfigurační pole pro azd metadata jsou:

Obor Description
type Definuje, jak azd vyzývá k tomuto parametru. Například: location.
config Popisuje nastavení pro některé typy metadat, například generate.
default Definuje hodnotu, která azd se má zvýraznit jako první při výběru.
usageName Řídí kontrolu kvót pro výběr umístění modelu umělé inteligence.

Každé pole je podrobněji popsáno v následujících částech.

Typ

Tato konfigurace definuje, jak azd vyžaduje zadání vstupního parametru. Mezi podporované typy patří:

  • umístění

    Pomocí typu location označte azd, že vstupní parametr zpracovává lokalitu Azure. Když azd najde location typ v metadatech, zobrazí se výzva k zadání hodnoty pomocí seznamu výběru umístění. Například:

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

    Sekvence výzev:

    Snímek obrazovky s výzvou k zadání umístění s metadaty

    Zkombinujte typ location s polem default a určete, které umístění se nejprve zvýrazní během toku výzvy. Například:

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

    Výzva k toku:

    Snímek obrazovky s výzvou k zadání umístění s metadaty, která obsahují výchozí hodnotu

    Zvýrazněná výchozí možnost odpovídá default poli z metadat. Tento přístup umožňuje autorům šablon doporučit umístění, zatímco uživatelé ho můžou potvrdit nebo změnit. Nastavení výchozí hodnoty vstupního parametru v Bicep přeskočí tok výzvy a použije výchozí hodnotu bez potvrzení uživatele.

  • generovat

    Pomocí typu generate řekněte azd, aby automaticky vytvořil hodnotu pro vstupní parametr. Tento typ se často používá ke generování hesel nebo jedinečných identifikátorů:

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

    Poznámka:

    Pole config je povinné s type: 'generate'.

    Při azd spuštění vygeneruje vstupní parametr hodnotu 10 znaků bez výzvy k zadání vstupu. Možnosti konfigurace hodnot automatického generování najdete v konfigurační části.

  • resourceGroup

    Prostřednictvím typu resourceGroup instruujte azd, aby vyžádal zadání skupiny prostředků pro tento vstup:

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

    Průběh výzvy:

    Snímek obrazovky, který ukazuje výzvu s typem skupiny prostředků

Config

Objekt config je vyžadován s typem generate . Řídí možnosti automatického generování. Následující tabulka popisuje možnosti vygenerování konfigurace:

Název pole Typ Description Výchozí
length int Celková délka vygenerované hodnoty 0
noLower Booleova hodnota Pokud je pravda, vyloučí malá písmena. false
noUpper Booleova hodnota Pokud je pravda, vyloučí velká písmena. false
nenumerické Booleova hodnota Pokud je hodnota true, vyloučí čísla. false
žádnéSpeciální Booleova hodnota Pokud je pravda, vyloučí speciální znaky. false
minLower int Minimální požadovaný počet malých písmen. 0
minUpper int Minimální požadovaný počet velkých písmen. 0
minNumeric int Minimální požadovaný počet čísel. 0
minSpecial int Minimální požadovaný počet speciálních znaků. 0

Důležité

Součet všech minimálních požadavků (MinLower + MinUpper + MinNumeric + MinSpecial) nemůže překročit celkovou délku. Pokud je příznak No-true, nastavte odpovídající hodnotu Min-na hodnotu 0.

Například vygenerujte hodnotu s délkou 10, žádnými speciálními znaky a čísly:

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

Výchozí

Definuje počáteční hodnotu ze seznamu, která se má zvýraznit. Zkombinujte ho s typem nebo jej přímo aplikujte na vstupní prvek s definovaným seznamem možností.

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

Tento příklad používá poznámku @allowed() z Bicep k definování seznamu podporovaných hodnot pro vstupní parametr. Při azd zobrazení výzvy k zadání tohoto vstupu se použije seznam povolených hodnot. Pole default v metadatech určuje, která možnost je nastavena jako počáteční výběr.

Snímek obrazovky s výchozím nastavením při zobrazení výzvy z povolených hodnot

Jméno použití

Pole usageName filtruje seznam umístění pouze na místa, kde jsou k dispozici dané AI SKU a kapacita:

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

Tento příklad zobrazuje pouze umístění Azure, kde má model AI gpt-5-mini dostatečnou kvótu (kapacitu minimálně 10).

Průběh výzvy:

Snímek obrazovky s nastavením usageName pro zobrazení výzvy k zadání umístění AI

Poznámka:

azd vrátí chybu, pokud není dostupné místo s dostatečnou kvótou.