你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Bicep 参数文件的 Bicep 函数

本文介绍 Bicep 参数文件 (.bicepparam)中使用的 Bicep 函数。

externalInput

externalInput(name, config)

此函数允许定义在启动部署时应由外部工具提供的输入,而无需在编译时知道这些输入。

在 Bicep 版本 0.37.4 及更高版本中可用。

参数

参数 必选 类型 说明
姓名 字符串 外部工具提供的输入的名称。
config 任何 输入的可选配置。 配置特定于要从中请求输入的外部工具。

返回值

部署时从外部源检索的实际值。

示例

以下 .bicepparam 文件从名为 someTool虚构的工具请求输入,该工具可提供名为的 myInput输入。

using './main.bicep'

// without configuration
param foo = externalInput('someTool.myInput')

// with string configuration
param bar = externalInput('someTool.myInput', 'Indy')

// with complex configuration
param baz = externalInput('someTool.myInput', {
  name: 'Indy'
  legs: 3
})

getSecret

getSecret(subscriptionId, resourceGroupName, keyVaultName, secretName, secretVersion)

此函数从 Azure 密钥库返回机密。 使用此函数将机密传递给 Bicep 文件的安全字符串参数。

注意

还可以在 文件中使用 .bicep 函数。

using './main.bicep'

param secureUserName = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretUserName')
param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword')

如果你在使用此函数时使用字符串内插,则会出现错误。

可以使用命名空间限定符az),但它是可选的,因为该函数可从默认 Azure 命名空间获取。

参数

参数 必选 类型 说明
subscriptionId 字符串 具有密钥保管库资源的订阅的 ID
resourceGroupName 字符串 具有密钥保管库资源的资源组的名称
KeyVaultName 字符串 密钥保管库的名称
secretName 字符串 密钥保管库中存储的机密的名称
secretVersion 字符串 密钥保管库中存储的机密的版本

返回值

机密的值。

示例

以下文件具有.bicepparam具有 secretName<>的参数:

using './main.bicep'

param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword')

以下文件具有具有 secretName.bicepparamsecurePassword<的参数,但它固定到特定的> secretValue:<>

using './main.bicep'

param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword', 'exampleSecretVersion')

readEnvironmentVariable

readEnvironmentVariable(variableName, [defaultValue])

此函数返回环境变量的值,如果环境变量不存在,则设置默认值。 变量加载在编译期间发生,而不是在运行时发生。

命名空间:sys

参数

参数 必选 类型 说明
variableName 字符串 变量的名称。
defaultValue 字符串 环境变量不存在时使用的默认字符串值。

返回值

返回值为环境变量的字符串值或默认值。

注解

以下命令仅为在其中执行的 PowerShell 进程设置环境变量。 可从 Visual Studio Code 获取 BCP338

$env:testEnvironmentVariable = "Hello World!"

若要在用户级别设置环境变量,请运行以下命令:

[System.Environment]::SetEnvironmentVariable('testEnvironmentVariable','Hello World!', 'User')

若要在计算机级别设置环境变量,请运行以下命令:

[System.Environment]::SetEnvironmentVariable('testEnvironmentVariable','Hello World!', 'Machine')

有关详细信息,请参阅 Environment.SetEnvironmentVariable Method

示例

以下示例演示如何检索环境变量的值:

use './main.bicep'

param adminPassword = readEnvironmentVariable('admin_password')
param boolfromEnvironmentVariables = bool(readEnvironmentVariable('boolVariableName','false'))

后续步骤

有关 Bicep 参数文件的详细信息,请参阅 为 Bicep 部署创建参数文件。