Delen via


Werken met Azure Developer CLI-metagegevens voor Bicep-invoerparameters

Azure Developer CLI (azd) ondersteunt Bicep-sjablonen met de @metadata decorator. Voeg metagegevens toe aan Bicep-invoerparameters om de implementatie te verbeteren met intelligente standaardinstellingen, automatische waardegeneratie en betere prompts voor parameters.

Metagegevens toevoegen

Invoerparameters in Bicep ondersteunen @metadata als een schemavrij object. Voeg metagegevens toe azd door het azd veld in de parametermetagegevens op te voegen:

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

Azure Developer CLI-metagegevens zijn niet afhankelijk van het type parameter en u kunt deze toevoegen aan een parameter.

Ondersteunde metagegevens

De ondersteunde configuratievelden voor azd metagegevens zijn:

Veld Description
type Hiermee definieert u hoe azd om deze parameter vraagt. Bijvoorbeeld: location.
config Beschrijft instellingen voor sommige typen metagegevens, zoals generate.
default Hiermee definieert u een waarde voor azd om eerst te markeren tijdens een selectieprompt.
usageName Hiermee bepaalt u de quotumcontrole voor de selectie van de locatie van het AI-model.

Elk veld wordt uitgebreid beschreven in de volgende secties.

Soort

Deze configuratie bepaalt hoe azd om een invoerparameter vraagt. Ondersteunde typen zijn onder andere:

  • plaats

    Gebruik het location type om te zien azd dat een invoerparameter een Azure-locatie verwerkt. Wanneer azd het location type in de metadata vindt, vraagt het om een waarde met behulp van de locatieselectielijst. Voorbeeld:

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

    Promptverloop

    Een schermopname met een prompt voor locatie met metagegevens.

    Combineer het location type met het default veld om te bepalen welke locatie eerst tijdens de promptstroom is gemarkeerd. Voorbeeld:

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

    Promptproces:

    Een schermopname met een prompt voor locatie met metagegevens die een standaardwaarde bevatten.

    De gemarkeerde standaardoptie komt overeen met het default veld uit de metagegevens. Met deze methode kunnen sjabloonauteurs een locatie aanbevelen terwijl gebruikers deze kunnen bevestigen of wijzigen. Als u een standaardwaarde instelt voor de invoerparameter in Bicep, wordt de promptstroom overgeslagen en wordt de standaardwaarde zonder bevestiging van de gebruiker gebruikt.

  • genereren

    Gebruik het generate type om azd te vertellen automatisch de waarde voor de invoerparameter te creëren. Dit type wordt vaak gebruikt om wachtwoorden of unieke id's te genereren:

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

    Opmerking

    Het config veld is vereist met type: 'generate'.

    Wanneer azd deze wordt uitgevoerd, wordt er een waarde van 10 tekens gegenereerd voor de invoerparameter zonder dat er om invoer wordt gevraagd. Zie de sectie configuratie voor opties voor het configureren van waarden voor automatisch genereren.

  • resourceGroup

    Gebruik het resourceGroup type om azd te laten vragen om een resourcegroep voor deze invoer:

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

    Promptstroom:

    Een schermopname met een prompt met het type resourcegroep.

Config

Het config object is vereist met het generate type. Hiermee worden opties voor automatisch genereren beheerd. In de volgende tabel worden de configuratieopties voor genereren beschreven:

Veldnaam Soort Description Verstek
length int Totale lengte van de gegenereerde waarde 0
noLower bool Indien waar, sluit u kleine letters uit. false
noUpper bool Indien waar, sluit u hoofdletters uit. false
noNumeric bool Als dit het geval is, worden getallen uitgesloten. false
noSpecial bool Als dit het geval is, worden speciale tekens uitgesloten. false
minLower int Minimaal aantal kleine lettertekens vereist. 0
minUpper int Minimaal aantal hoofdletters vereist. 0
minNumeric int Minimaal aantal vereiste getallen. 0
minSpecial int Minimaal aantal speciale tekens vereist. 0

Belangrijk

De som van alle minimale vereisten (MinLower + MinUpper + MinNumeric + MinSpecial) mag de totale lengte niet overschrijden. Als er een 'Nee-'-vlag waar is, stelt u de bijbehorende 'Min-'-waarde in op 0.

Genereer bijvoorbeeld een waarde met lengte 10, geen speciale tekens en geen getallen:

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

Verstek

Hiermee definieert u de initiële waarde uit een lijst die u wilt markeren. Combineer het met het location type of pas het rechtstreeks toe op een invoer met een gedefinieerde lijst met opties:

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

In dit voorbeeld wordt de @allowed() aantekening van Bicep gebruikt om een lijst met ondersteunde waarden voor de invoerparameter te definiëren. Wanneer azd u om deze invoer wordt gevraagd, wordt de lijst met toegestane waarden gebruikt. Het default veld in de metagegevens bepaalt welke optie is ingesteld als de eerste selectie.

Een schermopname die het standaardinstelling toont tijdens een prompt met toegestane waarden.

UsageName

In usageName het veld wordt de locatielijst gefilterd op alleen locaties waar een bepaalde AI-SKU en capaciteit beschikbaar zijn:

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

In dit voorbeeld worden azd alleen Azure-locaties weergegeven waar het AI-model gpt-5-mini voldoende quotum heeft (capaciteit van ten minste 10).

Promptverloop

Een schermopname van het instellen van usageName om een AI-locatie te vragen.

Opmerking

azd retourneert een fout als er geen locatie met voldoende quotum is.