Bicep 參數檔案函數
Bicep 會提供名為 readEnvironmentVariable()
的函數,可用於擷取環境變數的值。 如果環境變數不存在,它也提供設定預設值的彈性。 此函數僅適用於 .bicepparam
檔案。 如需詳細資訊,請參閱 Bicep 參數檔案。
getSecret
getSecret(subscriptionId, resourceGroupName, keyVaultName, secretName, secretVersion)
從 Azure Key Vault 傳回祕密。 使用此函數可將祕密傳遞至 Bicep 檔案的安全字串參數。
注意
您也可以從 .bicep
檔案內使用 keyVaultName.getSecret(secretName) 函數。
using './main.bicep'
param secureUserName = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretUserName')
param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword')
如果您使用此函式搭配字串插補,您會收到錯誤。
因為函數可從「預設」Azure 命名空間取得,所以可選擇是否使用命名空間限定詞 (az
)。
參數
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
subscriptionId | Yes | string | 具有金鑰保存庫資源的訂用帳戶識別碼。 |
resourceGroupName | Yes | string | 具有金鑰保存庫資源的資源群組名稱。 |
keyVaultName | Yes | string | 金鑰保存庫的名稱。 |
secretName | Yes | string | 儲存在金鑰保存庫中的祕密名稱。 |
secretVersion | No | string | 儲存在金鑰保存庫中的祕密版本。 |
傳回值
祕密值。
範例
下列檔案具有securePassword
具有 secretName> 秘密最新值的參數<。.bicepparam
using './main.bicep'
param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword')
下列檔案具有具有 secretName 秘密值<的參數,但已釘選到特定的< secretValue。.bicepparam
securePassword
>>
using './main.bicep'
param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword', 'exampleSecretVersion')
readEnvironmentVariable
readEnvironmentVariable(variableName, [defaultValue])
傳回指定的環境變數值,若環境變數不存在則設定預設值。 變數會在編譯期間載入,而非執行階段。
命名空間:sys (部分機器翻譯)。
參數
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
variableName | Yes | string | 變數的名稱。 |
defaultValue | No | 字串 | 如果環境變數不存在,要使用的預設字串值。 |
傳回值
環境變數的字串值或預設值。
備註
下列命令只會針對其執行所在的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 方法。
範例
下列範例說明如何擷取環境變數的值。
use './main.bicep'
param adminPassword = readEnvironmentVariable('admin_password')
param boolfromEnvironmentVariables = bool(readEnvironmentVariable('boolVariableName','false'))
下一步
如需 Bicep 參數檔案的詳細資訊,請參閱參數檔案。