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 | Yes | 字串 | 具有金鑰保存庫資源的訂用帳戶標識碼 |
resourceGroupName | Yes | 字串 | 具有金鑰保存庫資源的資源群組名稱 |
keyVaultName | Yes | 字串 | 金鑰保存庫的名稱 |
secretName | Yes | 字串 | 金鑰保存庫中儲存的秘密名稱 |
secretVersion | No | 字串 | 金鑰保存庫中儲存的秘密版本 |
傳回值
祕密值。
範例
下列檔案具有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 參數檔案的詳細資訊,請參閱 建立 Bicep 部署的參數檔案。