Azure 開發人員 CLI (azd) 支援具有 @metadata 裝飾器的 Bicep 範本。 將中繼資料新增至 Bicep 輸入參數,以便透過智能預設值、自動值產生和更好的參數提示來改善部署。
新增元資料
Bicep 中的輸入參數支援 @metadata 為無架構物件。 在參數中繼資料中包含azd欄位,以新增azd中繼資料:
@metadata({
azd: {}
})
param someInput <param-type>
Azure 開發人員 CLI 中繼資料不相依於參數的類型,而且您可以將它新增至任何參數。
支援的中繼資料
中繼資料支援的 azd 組態欄位包括:
| 領域 | Description |
|---|---|
type |
定義如何提示此參數 azd 。 例如: location 。 |
config |
描述某些中繼資料類型的設定,例如 generate。 |
default |
定義 azd 的值,以便在選擇提示時優先醒目顯示。 |
usageName |
控制 AI 模型位置選擇的配額檢查。 |
下列各節會更詳細地說明每個欄位。
類型
此設定定義了輸入參數的提示方式 azd 。 支援的型別包括:
位置
使用
location類型來告知azd輸入參數負責處理 Azure 位置。 當azd在中繼資料中找到location類型時,會使用位置選取清單提示輸入值。 例如:@metadata({ azd: { type: 'location' } }) param someInput string提示流程:
將
location類型與default欄位結合,以控制在提示流程期間首先突出顯示的位置。 例如:@metadata({ azd: { type: 'location' default: 'westus' } }) param someInput string提示流程:
被反白的預設選項符合來自中繼資料的
default欄位。 這種方法可讓範本作者推薦位置,而使用者可以確認或變更它。 在 Bicep 中設定輸入參數的預設值會略過提示流程,並在不需要使用者確認的情況下使用預設值。產生
使用
generate類型來告訴azd自動建立輸入參數的值。 此類型通常用於產生密碼或唯一識別碼:@metadata({ azd: { type: 'generate' config: { length: 10 } } }) param someInput string備註
該
config欄位是type: 'generate'的必要項目。執行時
azd,它會為輸入參數產生 10 個字元的值,而不會提示輸入。 請參閱 設定 區段,以取得設定自動產生值的選項。resourceGroup
使用
resourceGroup類型來告知azd提示此輸入的資源群組:@metadata({ azd: { type: 'resourceGroup' } }) param someInput string提示流程:
設定
需要使用 config 類型的 generate 物件。 該系統控制自動生成選項。 下表說明產生組態選項:
| 欄位名稱 | 類型 | Description | 預設 |
|---|---|---|---|
| length | int | 產生值的總長度 | 0 |
| 未降低 | 布爾 (bool) | 如果為true,則排除小寫字母。 | 假的 |
| 無上層 | 布爾 (bool) | 如果為真,則排除大寫字母。 | 假的 |
| noNumeric (無數字) | 布爾 (bool) | 如果為true,則排除數字。 | 假的 |
| 不特別 | 布爾 (bool) | 如果為true,則排除特殊字元。 | 假的 |
| 最低降低值 | int | 所需小寫字母的最小數量。 | 0 |
| 最小上限 | int | 所需的最小大寫字母數量。 | 0 |
| 最小數值 | int | 所需的最小數字數。 | 0 |
| 分鐘特別 | int | 所需的特殊字元數目下限。 | 0 |
這很重要
所有最低需求 (MinLower + MinUpper + MinNumeric + MinSpecial) 的總和不能超過總長度。 如果任何 “No-” 標誌為 true,請將對應的 “Min-” 值設置為 0。
例如,產生長度為 10、沒有特殊字元且沒有數字的值:
@metadata({
azd: {
type: 'generate'
config: {
length: 10
noNumeric: true
noSpecial: true
}
}
})
param someInput string
預設
定義要醒目提示的清單中的初始值。 將它與 location 類型結合,或直接套用至具有已定義選項清單的輸入:
@allowed(['foo', 'bar', 'baz'])
@metadata({
azd: {
default: 'baz'
}
})
param someInput string
此範例會使用 @allowed() Bicep 的批註來定義輸入參數的支援值清單。 當提示輸入此輸入時 azd ,它會使用允許的值清單。
default中繼資料中的欄位控制將哪個選項設定為初始選取項目:
使用方式名稱
此欄位會篩選位置清單,以僅顯示有指定 AI SKU 和容量可用的位置。
@metadata({
azd: {
type: 'location'
usageName: [
'OpenAI.GlobalStandard.gpt-5-mini,10'
]
}
})
param someInput string
此範例只會 azd 顯示 AI 模型 gpt-5-mini 具有足夠配額的 Azure 位置 (容量至少為 10 個)。
提示流程:
備註
azd 如果沒有具有足夠配額的位置,則會傳回錯誤。