Bicep-funktioner för filer med Bicep-parametrar
Bicep tillhandahåller en funktion med namnet readEnvironmentVariable()
som gör att du kan hämta värden från miljövariabler. Det ger också flexibiliteten att ange ett standardvärde om miljövariabeln inte finns. Den här funktionen kan bara användas i .bicepparam
filer.
getSecret
getSecret(subscriptionId, resourceGroupName, keyVaultName, secretName, secretVersion)
Den här funktionen returnerar en hemlighet från ett Azure Key Vault. Använd den här funktionen för att skicka en hemlighet till en Bicep-fils säkra strängparameter.
Kommentar
Du kan också använda funktionen keyVaultName.getSecret(secretName) inifrån en .bicep
fil.
using './main.bicep'
param secureUserName = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretUserName')
param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword')
Du får ett fel om du använder den här funktionen med stränginterpolation.
En namnområdeskvalificerare (az
) kan användas, men det är valfritt eftersom funktionen är tillgänglig från standardnamnet för Azure.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
subscriptionId | Ja | sträng | ID:t för prenumerationen som har nyckelvalvsresursen |
resourceGroupName | Ja | sträng | Namnet på resursgruppen som har nyckelvalvsresursen |
keyVaultName | Ja | sträng | Namnet på nyckelvalvet |
secretName | Ja | sträng | Namnet på hemligheten som lagras i nyckelvalvet |
secretVersion | Nej | sträng | Den version av hemligheten som lagras i nyckelvalvet |
Returvärde
Värdet för hemligheten.
Exempel
Följande .bicepparam
fil har en securePassword
parameter som har det senaste värdet för hemligheten <secretName> :
using './main.bicep'
param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword')
Följande .bicepparam
fil har en securePassword
parameter som har värdet för hemligheten< secretName>, men den är fäst på en specifik< secretValue:>
using './main.bicep'
param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword', 'exampleSecretVersion')
readEnvironmentVariable
readEnvironmentVariable(variableName, [defaultValue])
Den här funktionen returnerar värdet för miljövariabeln eller anger ett standardvärde om miljövariabeln inte finns. Variabelinläsning sker under kompilering och inte vid körning.
Namnområde: sys.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
variableName | Ja | sträng | Namnet på variabeln. |
defaultValue | Nej | sträng | Ett standardsträngvärde som ska användas om miljövariabeln inte finns. |
Returvärde
Returvärdet är strängvärdet för miljövariabeln eller ett standardvärde.
Kommentarer
Följande kommando anger miljövariabeln endast för Den PowerShell-process där den körs. Du får BCP338 från Visual Studio Code:
$env:testEnvironmentVariable = "Hello World!"
Om du vill ange miljövariabeln på användarnivå kör du följande kommando:
[System.Environment]::SetEnvironmentVariable('testEnvironmentVariable','Hello World!', 'User')
Kör följande kommando för att ange miljövariabeln på datornivå:
[System.Environment]::SetEnvironmentVariable('testEnvironmentVariable','Hello World!', 'Machine')
Mer information finns i Environment.SetEnvironmentVariable-metoden.
Exempel
Följande exempel visar hur du hämtar värdena för miljövariabler:
use './main.bicep'
param adminPassword = readEnvironmentVariable('admin_password')
param boolfromEnvironmentVariables = bool(readEnvironmentVariable('boolVariableName','false'))
Nästa steg
Mer information om Bicep-parameterfiler finns i Skapa parameterfiler för Bicep-distribution.