你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍 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 文件的安全字符串参数。
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 部署创建参数文件。