Az Azure Developer CLI metaadatainak használata a Bicep bemeneti paramétereihez

Az Azure Developer CLI (azd) támogatja a Bicep-sablonokat a @metadata dekoratőrrel. Adjon hozzá metaadatokat a Bicep bemeneti paramétereihez, hogy intelligens alapértelmezett értékekkel, automatikus értékgenerálással és jobb paraméter-kéréssel javítsa az üzembe helyezést.

Metaadatok hozzáadása

A Bicep bemeneti paraméterei támogatják a @metadata-t mint sémamentes objektumot. Metaadatok hozzáadása azd a azd paraméter metaadataiban szereplő mező hozzáadásával:

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

Az Azure Developer CLI metaadatai nem függnek a paraméter típusától, és bármely paraméterhez hozzáadhatja.

Támogatott metaadatok

A metaadatok támogatott konfigurációs mezői a azd következők:

szakterület Description
type Meghatározza, hogyan azd kéri ezt a paramétert. Például: location.
config Néhány metaadattípus beállításait ismerteti, például generate.
default Meghatároz egy értéket a azd számára, amelyet elsőként emel ki a kiválasztási párbeszédablakban.
usageName Szabályozza a kvótaellenőrzést az AI-modell helyének kiválasztásakor.

Az egyes mezőket részletesebben a következő szakaszok ismertetik.

Típus

Ez a konfiguráció határozza meg, hogyan azd kéri a bemeneti paramétert. A támogatott típusok a következők:

  • hely

    Ezzel a location típussal állapíthatja meg azd , hogy egy bemeneti paraméter egy Azure-helyet kezel. Amikor azd megkeresi a típust location a metaadatokban, a helykijelölési lista használatával egy értéket kér. Például:

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

    Parancssori folyamat:

    Képernyőkép a hely megadására vonatkozó kérésről metaadatokkal.

    location A típus és a default mező kombinálásával szabályozhatja, hogy melyik helyet emeli ki először a parancssori folyamat során. Például:

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

    Folyamat indítása:

    Képernyőkép a hely megadásának kéréséről az alapértelmezett értéket tartalmazó metaadatokkal.

    A kiemelt alapértelmezett beállítás megegyezik a default metaadatok mezőivel. Ezzel a módszerrel a sablonkészítők javasolhatnak egy helyet, miközben a felhasználók megerősíthetik vagy módosíthatják azt. A Bicep bemeneti paraméterének alapértelmezett értékének beállítása kihagyja a parancssori folyamatot, és felhasználói megerősítés nélkül használja az alapértelmezett értéket.

  • generál

    Használja a generate típust, hogy megmondja a azd-nek, hogy automatikusan hozza létre a bemeneti paraméter értékét. Ezt a típust gyakran használják jelszavak vagy egyedi azonosítók létrehozásához:

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

    Megjegyzés:

    A config mező megadása kötelező a következővel type: 'generate'.

    Futtatáskor azd 10 karakteres értéket hoz létre a bemeneti paraméterhez anélkül, hogy bemenetet kér. Az automatikus létrehozási értékek konfigurálására vonatkozó beállításokat a konfigurációs szakaszban találja.

  • resourceGroup

    Ezzel a resourceGroup típussal kérheti azd az erőforráscsoport megadását ehhez a bemenethez:

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

    Parancssori folyamat:

    Képernyőkép az erőforráscsoport típusával rendelkező parancssorról.

Config

A config típushoz szükség van az objektumra generate . Ez szabályozza az automatikus létrehozási beállításokat. Az alábbi táblázat a létrehozási konfigurációs beállításokat ismerteti:

Mező neve Típus Description Alapértelmezett
length int A generált érték teljes hossza 0
noLower bool Ha igaz, kizárja a kisbetűket. false
noUpper bool Ha igaz, kizárja a nagybetűket. false
noNumeric bool Ha igaz, kizárja a számokat. false
nincs különleges bool Ha igaz, kizárja a speciális karaktereket. false
minLower int Minimálisan szükséges kisbetűk száma. 0
minUpper int A szükséges kisbetűk minimális száma. 0
minNumeric int Minimálisan szükséges számok száma. 0
minSpecial int A szükséges speciális karakterek minimális száma. 0

Fontos

Az összes minimális követelmény (MinLower + MinUpper + MinNumeric + MinSpecial) összege nem haladhatja meg a teljes hosszt. Ha bármelyik "Nem" jelző igaz, állítsa a megfelelő "Min-" értéket 0 értékre.

Hozzon létre például egy 10 hosszúságú, speciális karaktereket és számokat nem tartalmazó értéket:

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

Alapértelmezett

Meghatározza a kiemelendő lista kezdeti értékét. Kombinálja a location típussal, vagy alkalmazza közvetlenül egy bemenetre a beállítások meghatározott listájával:

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

Ez a példa a @allowed() Bicep jegyzeteivel definiálja a bemeneti paraméter támogatott értékeinek listáját. Amikor azd kéri ezt a bemenetet, az engedélyezett értékek listáját használja. A default metaadatok mezője szabályozza, hogy melyik beállítás legyen beállítva kezdeti kijelölésként:

Képernyőkép az engedélyezett értékekről érkező kérés során az alapértelmezett értékről.

HasználatNév

A usageName mező a helylistát csak olyan helyekre szűri, ahol egy adott AI-termékváltozat és kapacitás elérhető:

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

Ez a példa azd csak azokat az Azure-helyeket jeleníti meg, ahol az AI-modell gpt-5-mini rendelkezik elegendő kvótával (legalább 10 kapacitással).

Parancssori folyamat:

Képernyőkép a usageName beállításról, amely az AI-hely megadását kéri.

Megjegyzés:

azd hibát ad vissza, ha nincs elegendő kvótával rendelkező hely.