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提示流:
突出显示的默认选项与中的字段匹配。 此方法使模板作者可以推荐一个位置,而用户可以确认或更改位置。 在 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
该 config 对象是类型 generate 所必需的。 它控制自动生成选项。 下表描述了生成配置选项:
| 字段名称 | 类型 | Description | 违约 |
|---|---|---|---|
| length | int | 生成的值的总长度 | 0 |
| noLower | 布尔 | 如果为 true,则排除小写字母。 | 假 |
| noUpper | 布尔 | 如果为 true,则排除大写字母。 | 假 |
| noNumeric | 布尔 | 如果为 true,则排除数字。 | 假 |
| noSpecial | 布尔 | 如果为 true,则排除特殊字符。 | 假 |
| 最小值下限 | int | 所需的最小小写字母数。 | 0 |
| minUpper | int | 所需要求的大写字母的最小数量。 | 0 |
| minNumeric | int | 所需的最小数字数。 | 0 |
| minSpecial | 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
此示例使用 Bicep 中的 @allowed() 注释来定义输入参数支持的值的列表。 当 azd 提示输入时,它使用允许的值列表。
default元数据中的字段控制将哪个选项设置为初始选择:
使用名称
字段 usageName 将位置列表筛选为仅提供给定 AI SKU 和容量的位置:
@metadata({
azd: {
type: 'location'
usageName: [
'OpenAI.GlobalStandard.gpt-5-mini,10'
]
}
})
param someInput string
此示例 azd 仅显示 AI 模型 gpt-5-mini 有足够的配额(容量至少为 10)的 Azure 位置。
提示流:
显示将 usageName 设为以提示 AI 位置信息的屏幕截图。
注释
azd 如果没有具有足够配额的位置,则返回错误。