Partager via


Travailler avec les métadonnées du CLI Azure pour développeurs pour les paramètres d’entrée Bicep

Azure Developer CLI (azd) prend en charge les modèles Bicep avec le décorateur @metadata. Ajoutez des métadonnées aux paramètres d’entrée Bicep pour améliorer le déploiement avec des valeurs par défaut intelligentes, la génération automatique de valeurs, et une suggestion de paramètres plus efficace.

Ajout de métadonnées

Les paramètres d’entrée dans Bicep prennent en charge @metadata en tant qu’objet sans schéma. Ajoutez des azd métadonnées en incluant le azd champ dans les métadonnées de paramètre :

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

Les métadonnées Azure Developer CLI ne dépendent pas du type du paramètre et vous pouvez l’ajouter à n’importe quel paramètre.

Métadonnées prises en charge

Les champs de configuration de métadonnées pris en charge pour azd sont les suivants :

Terrain Descriptif
type Définit comment azd propose ce paramètre. Par exemple : location.
config Décrit les paramètres de certains types de métadonnées, tels que generate.
default Définit une valeur pour azd afin de la mettre en surbrillance en premier lors d’une invite de sélection.
usageName Contrôle la vérification du quota pour la sélection de l’emplacement du modèle IA.

Chaque champ est décrit plus en détail dans les sections suivantes.

Type

Cette configuration définit la façon dont azd invite à entrer un paramètre. Les types pris en charge comprennent les suivants :

  • emplacement

    Utilisez le type location pour indiquer à azd qu'un paramètre d'entrée azd gère un emplacement Azure. Lorsque azd trouve le type location dans les métadonnées, il demande une valeur à l’aide de la liste de sélection d’emplacement. Par exemple:

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

    Flux de proposition :

    Capture d’écran montrant une demande de localisation avec des métadonnées.

    Combinez le location type avec le default champ pour contrôler l’emplacement mis en surbrillance en premier pendant le flux d’invite. Par exemple:

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

    Flux d’invite :

    Capture d’écran montrant une invite d’emplacement avec des métadonnées qui incluent une valeur par défaut.

    L’option par défaut mise en surbrillance correspond au default champ des métadonnées. Cette approche permet aux auteurs de modèles de recommander un emplacement tandis que les utilisateurs peuvent confirmer ou modifier celui-ci. La définition d’une valeur par défaut pour le paramètre d’entrée dans Bicep ignore le flux d’invite et utilise la valeur par défaut sans confirmation de l’utilisateur.

  • générer

    Utilisez le generate type pour indiquer azd de créer automatiquement la valeur du paramètre d’entrée. Ce type est souvent utilisé pour générer des mots de passe ou des identificateurs uniques :

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

    Note

    Le config champ est requis avec type: 'generate'.

    Quand azd s'exécute, il génère une valeur de 10 caractères pour le paramètre d'entrée sans demander d'entrée. Consultez la section de configuration pour connaître les options permettant de configurer les valeurs de génération automatique.

  • resourceGroup

    Utilisez le type resourceGroup pour demander à azd de vous inviter à saisir un groupe de ressources pour cette entrée :

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

    Flux de commandes :

    Capture d’écran montrant une invite spécifiant le type de groupe de ressources.

Config

L’objet config est requis avec le generate type. Il contrôle les options de génération automatique. Le tableau suivant décrit les options de configuration de génération :

Nom du champ Type Descriptif Par défaut
length int Longueur totale de la valeur générée 0
pas de diminution bool Si la valeur est true, exclut les lettres minuscules. false
noUpper bool Si la valeur est true, exclut les lettres majuscules. false
noNumeric bool Si la valeur est true, exclut les nombres. false
pas de spécial bool Si vrai, exclut les caractères spéciaux. false
minLower int Nombre minimal de lettres minuscules requises. 0
minUpper int Nombre minimal de lettres majuscules requises. 0
minNumeric int Nombre minimal de nombres requis. 0
minSpecial int Nombre minimal de caractères spéciaux requis. 0

Important

La somme de toutes les exigences minimales (MinLower + MinUpper + MinNumeric + MinSpecial) ne peut pas dépasser la longueur totale. Si un indicateur « No- » est vrai, définissez la valeur « Min- » correspondante sur 0.

Par exemple, générez une valeur avec la longueur 10, aucun caractère spécial et aucun nombre :

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

Par défaut

Définit la valeur initiale d’une liste à mettre en surbrillance. Combinez-le avec le type location ou appliquez-le directement à une entrée avec une liste définie d’options.

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

Cet exemple utilise l’annotation @allowed() de Bicep pour définir une liste de valeurs prises en charge pour le paramètre d’entrée. Lorsque azd vous demande cette saisie, la liste des valeurs autorisées est utilisée. Champ default dans les contrôles de métadonnées dont l’option est définie comme sélection initiale :

Capture d’écran montrant la valeur par défaut lors de l’invite à partir de valeurs autorisées.

Nom d'utilisation

Le usageName champ filtre la liste d’emplacements uniquement aux emplacements où une référence SKU et une capacité IA donnée sont disponibles :

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

Cet exemple montre azd uniquement les emplacements Azure où le modèle gpt-5-mini IA dispose d’un quota suffisant (capacité d’au moins 10).

Processus de demande :

Capture d’écran montrant la définition de usageName pour inviter à spécifier l’emplacement de l'IA.

Note

azd retourne une erreur s’il n’existe pas d’emplacement avec un quota suffisant.