你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Bicep 参数文件的 Bicep 函数
Bicep 提供了一个名为 readEnvironmentVariable()
的函数以用于从环境变量中检索值。 如果环境变量不存在,它还可以灵活地设置默认值。 此函数只能在文件中使用 .bicepparam
。
getSecret
getSecret(subscriptionId, resourceGroupName, keyVaultName, secretName, secretVersion)
此函数从 Azure 密钥库返回机密。 使用此函数将机密传递给 Bicep 文件的安全字符串参数。
注意
还可以在 .bicep
文件中使用 keyVaultName.getSecret(secretName) 函数。
using './main.bicep'
param secureUserName = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretUserName')
param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword')
如果你在使用此函数时使用字符串内插,则会出现错误。
可以使用命名空间限定符(az
),但它是可选的,因为该函数可从默认 Azure 命名空间获取。
参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
subscriptionId | 是 | string | 具有密钥保管库资源的订阅的 ID |
resourceGroupName | 是 | string | 具有密钥保管库资源的资源组的名称 |
KeyVaultName | 是 | string | 密钥保管库的名称 |
secretName | 是 | string | 密钥保管库中存储的机密的名称 |
secretVersion | 否 | string | 密钥保管库中存储的机密的版本 |
返回值
机密的值。
示例
以下文件具有securePassword
具有 secretName> 机密的最新值<的参数:.bicepparam
using './main.bicep'
param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword')
以下文件具有具有 secretName> 机密的值<的参数,但它固定到特定的< secretValue:>securePassword
.bicepparam
using './main.bicep'
param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword', 'exampleSecretVersion')
readEnvironmentVariable
readEnvironmentVariable(variableName, [defaultValue])
此函数返回环境变量的值,如果环境变量不存在,则设置默认值。 变量加载在编译期间发生,而不是在运行时发生。
命名空间:sys。
参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
variableName | 是 | 字符串 | 变量的名称。 |
defaultValue | 否 | string | 环境变量不存在时使用的默认字符串值。 |
返回值
返回值为环境变量的字符串值或默认值。
注解
以下命令仅为在其中执行的 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 部署创建参数文件。