Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver de Bicep-funktioner som kan användas i Bicep-parameterfiler (.bicepparam).
externalInput
externalInput(name, config)
Med den här funktionen kan du definiera indata som ska tillhandahållas av externa verktyg när en distribution initieras, i stället för att kräva att de blir kända när du kompilerar.
Finns i Bicep version 0.37.4 och senare.
Parametrar
| Parameter | Obligatoriskt | Type | Beskrivning | 
|---|---|---|---|
| name | Ja | sträng | Namnet på de indata som tillhandahålls av det externa verktyget. | 
| config | Nej | någon | Den valfria konfigurationen för indata. Konfigurationen är specifik för det externa verktyg som du begär indata från. | 
Returvärde
Det faktiska värdet som hämtades från den externa källan vid distributionstillfället.
Exempel
Följande .bicepparam fil begär indata från ett fiktivt verktyg med namnet someTool, som kan ge en indata med namnet myInput.
using './main.bicep'
// without configuration
param foo = externalInput('someTool.myInput')
// with string configuration
param bar = externalInput('someTool.myInput', 'Indy')
// with complex configuration
param baz = externalInput('someTool.myInput', {
  name: 'Indy'
  legs: 3
})
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<>, 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.