Dela via


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.