Bekerja dengan metadata CLI Pengembang Azure untuk parameter input Bicep

Azure Developer CLI (azd) mendukung templat Bicep menggunakan @metadata dekorator. Tambahkan metadata ke parameter input Bicep untuk meningkatkan penyebaran dengan default cerdas, pembuatan nilai otomatis, dan permintaan parameter yang lebih baik.

Menambahkan metadata

Parameter input di Bicep mendukung @metadata sebagai objek bebas skema. Tambahkan azd metadata dengan menyertakan kolom azd dalam metadata parameter.

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

Metadata Azure Developer CLI tidak bergantung pada jenis parameter, dan Anda dapat menambahkannya ke parameter apa pun.

Metadata yang didukung

Bidang konfigurasi yang didukung untuk azd metadata adalah:

Bidang Description
type Menentukan bagaimana azd meminta parameter ini. Contohnya, location.
config Menjelaskan pengaturan untuk beberapa jenis metadata, seperti generate.
default Menentukan nilai untuk azd yang akan disorot pertama kali selama perintah pilih.
usageName Mengontrol pemeriksaan kuota untuk pemilihan lokasi model AI.

Setiap bidang dijelaskan secara lebih rinci di bagian berikut.

Tipe

Konfigurasi ini menentukan cara azd meminta parameter input. Jenis yang didukung meliputi:

  • Lokasi

    Gunakan location jenis untuk memberi tahu azd bahwa parameter input tersebut menangani lokasi Azure. Saat azd menemukan jenis location dalam metadata, azd akan meminta nilai menggunakan daftar pilihan lokasi. Contohnya:

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

    Alur interaksi:

    Cuplikan layar memperlihatkan permintaan lokasi dengan metadata.

    Gabungkan location jenis dengan default kolom untuk mengontrol lokasi mana yang disorot terlebih dahulu dalam alur perintah. Contohnya:

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

    Alur Pemanduan:

    Cuplikan layar memperlihatkan permintaan lokasi dengan metadata yang menyertakan nilai default.

    Opsi bawaan yang disorot sesuai dengan bidang default dari metadata. Pendekatan ini memungkinkan penulis templat merekomendasikan lokasi sementara pengguna dapat mengonfirmasi atau mengubahnya. Mengatur nilai default untuk parameter input di Bicep melewati alur prompt dan menggunakan nilai default tanpa konfirmasi pengguna.

  • menghasilkan

    Gunakan jenis generate untuk memberi tahu azd agar secara otomatis membuat nilai untuk parameter input. Jenis ini sering digunakan untuk menghasilkan kata sandi atau pengidentifikasi unik:

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

    Nota

    Bidang config diperlukan bersamaan dengan type: 'generate'.

    Saat azd dijalankan, ia menghasilkan nilai 10 karakter untuk parameter input tanpa meminta input. Lihat bagian konfigurasi untuk opsi untuk mengonfigurasi nilai pembuatan otomatis.

  • resourceGroup

    Gunakan jenis resourceGroup untuk memberi tahu azd agar menginisiasi permintaan grup sumber daya untuk input ini:

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

    Alur perintah:

    Cuplikan layar memperlihatkan perintah dengan jenis grup sumber daya.

Config

Objek config diperlukan dengan jenis generate. Ini mengontrol opsi pembuatan otomatis. Tabel berikut ini menjelaskan tentang opsi pengaturan pembuatan:

Nama Bidang Tipe Description Bawaan
length int Panjang total nilai yang dihasilkan 0
TidakLebihRendah bool Jika true, kecualikan huruf kecil. false
noUpper bool Jika benar, mengecualikan huruf besar. false
noNumeric bool Jika benar, mengecualikan angka. false
noSpecial bool Jika benar, mengecualikan karakter khusus. false
minLower int Jumlah minimum huruf kecil yang diperlukan. 0
minUpper int Jumlah minimum huruf besar yang diperlukan. 0
minNumeric int Jumlah minimum angka yang diperlukan. 0
minSpecial int Jumlah minimum karakter khusus yang diperlukan. 0

Penting

Jumlah semua persyaratan minimum (MinLower + MinUpper + MinNumeric + MinSpecial) tidak boleh melebihi total Panjang. Jika ada penanda "No-" yang bernilai benar, akan mengatur nilai "Min-" yang sesuai ke 0.

Misalnya, hasilkan nilai dengan panjang 10, tanpa karakter khusus, dan tanpa angka:

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

Bawaan

Menentukan nilai awal dari daftar untuk disorot. Gabungkan dengan tipe location atau terapkan langsung pada masukan dengan daftar opsi yang sudah ditentukan.

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

Contoh ini menggunakan @allowed() anotasi dari Bicep untuk menentukan daftar nilai yang didukung untuk parameter input. Saat azd meminta input ini, input menggunakan daftar nilai yang diizinkan. Bidang default dalam metadata mengontrol opsi mana yang diatur sebagai pilihan awal:

Cuplikan layar menunjukkan pengaturan default pada prompt dari nilai yang diizinkan.

UsageName

Bidang usageName memfilter daftar lokasi hanya ke lokasi di mana SKU dan kapasitas AI tertentu tersedia:

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

Contoh ini membuat azd hanya menampilkan lokasi Azure di mana model gpt-5-mini AI memiliki kuota yang cukup (kapasitas setidaknya 10).

Alur perintah:

Cuplikan layar memperlihatkan pengaturan usageName untuk meminta lokasi AI.

Nota

azd mengembalikan kesalahan jika tidak ada lokasi dengan kuota yang cukup.