Delen via


Bicep-functies voor Bicep-parametersbestanden

In dit artikel worden de Bicep-functies beschreven die kunnen worden gebruikt in Bicep-parametersbestanden (.bicepparam).

externalInput

externalInput(name, config)

Met deze functie kunt u invoer definiëren die moet worden geleverd door externe hulpprogramma's wanneer een implementatie wordt geïnitieerd, in plaats van dat ze bekend moeten zijn wanneer u compileert.

Beschikbaar in Bicep versie 0.37.4 en hoger.

Parameters

Parameter Vereist Type Description
naam Ja tekenreeks De naam van de invoer die door het externe hulpprogramma wordt geleverd.
config Nee any De optionele configuratie voor de invoer. De configuratie is specifiek voor het externe hulpprogramma van waaruit u een invoer aanvraagt.

Retourwaarde

De werkelijke waarde die tijdens de implementatie is opgehaald uit de externe bron.

Opmerking

Het volgende .bicepparam bestand vraagt invoer aan van een fictief hulpprogramma met de naam someTool, dat een invoer met de naam myInputkan bieden.

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)

Deze functie retourneert een geheim uit een Azure Key Vault. Gebruik deze functie om een geheim door te geven aan de beveiligde tekenreeksparameter van een Bicep-bestand.

Notitie

U kunt ook de functie keyVaultName.getSecret(secretName) vanuit een .bicep bestand gebruiken.

using './main.bicep'

param secureUserName = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretUserName')
param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword')

Er wordt een fout weergegeven als u deze functie gebruikt met tekenreeksinterpolatie.

Er kan een naamruimtescheidingsteken (az) worden gebruikt, maar dit is optioneel omdat de functie beschikbaar is vanuit de standaardNaamruimte van Azure.

Parameters

Parameter Vereist Type Description
subscriptionId Ja tekenreeks De id van het abonnement met de sleutelkluisresource
resourceGroupName Ja tekenreeks De naam van de resourcegroep met de sleutelkluisresource
keyVaultName Ja tekenreeks De naam van de sleutelkluis
secretName Ja tekenreeks De naam van het geheim dat is opgeslagen in de sleutelkluis
secretVersion Nee tekenreeks De versie van het geheim dat is opgeslagen in de sleutelkluis

Retourwaarde

De waarde voor het geheim.

Opmerking

Het volgende .bicepparam bestand heeft een securePassword parameter met de meest recente waarde van het <secretName-geheim> :

using './main.bicep'

param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword')

Het volgende .bicepparam bestand heeft een securePassword parameter met de waarde van het<>, maar het is vastgemaakt aan een specifieke< secretValue:>

using './main.bicep'

param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword', 'exampleSecretVersion')

readEnvironmentVariable

readEnvironmentVariable(variableName, [defaultValue])

Deze functie retourneert de waarde van de omgevingsvariabele of stelt een standaardwaarde in als de omgevingsvariabele niet bestaat. Het laden van variabelen vindt plaats tijdens de compilatie en niet tijdens runtime.

Naamruimte: sys.

Parameters

Parameter Vereist Type Description
variableName Ja tekenreeks De naam van de variabele.
standaardwaarde Nee tekenreeks Een standaardtekenreekswaarde die moet worden gebruikt als de omgevingsvariabele niet bestaat.

Retourwaarde

De retourwaarde is een tekenreekswaarde van de omgevingsvariabele of een standaardwaarde.

Opmerkingen

Met de volgende opdracht wordt de omgevingsvariabele alleen ingesteld voor het PowerShell-proces waarin deze wordt uitgevoerd. U krijgt BCP338 van Visual Studio Code:

$env:testEnvironmentVariable = "Hello World!"

Voer de volgende opdracht uit om de omgevingsvariabele op gebruikersniveau in te stellen:

[System.Environment]::SetEnvironmentVariable('testEnvironmentVariable','Hello World!', 'User')

Voer de volgende opdracht uit om de omgevingsvariabele op machineniveau in te stellen:

[System.Environment]::SetEnvironmentVariable('testEnvironmentVariable','Hello World!', 'Machine')

Zie De methode Environment.SetEnvironmentVariable voor meer informatie.

Voorbeelden

In de volgende voorbeelden ziet u hoe u de waarden van omgevingsvariabelen ophaalt:

use './main.bicep'

param adminPassword = readEnvironmentVariable('admin_password')
param boolfromEnvironmentVariables = bool(readEnvironmentVariable('boolVariableName','false'))

Volgende stappen

Zie Parametersbestanden voor Bicep-implementatie maken voor meer informatie over Bicep-parametersbestanden.