Condividi tramite


Funzioni Bicep per i file di parametri Bicep

Questo articolo descrive le funzioni Bicep che possono essere usate nei file dei parametri Bicep (.bicepparam).

externalInput

externalInput(name, config)

Questa funzione consente di definire gli input che devono essere forniti da strumenti esterni quando viene avviata una distribuzione, anziché richiederne la conoscenza durante la compilazione.

Disponibile in Bicep versione 0.37.4 e successive.

Parametri

Parametro Richiesto Type Descrizione
nome string Nome dell'input fornito dallo strumento esterno.
config No any Configurazione facoltativa per l'input. La configurazione è specifica dello strumento esterno da cui si richiede un input.

Valore restituito

Valore effettivo recuperato dall'origine esterna in fase di distribuzione.

Esempio

Il file seguente .bicepparam richiede l'input da uno strumento fittizio denominato someTool, che può fornire un input denominato 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)

Questa funzione restituisce un segreto da un insieme di credenziali delle chiavi di Azure. Usare questa funzione per passare un segreto al parametro di stringa sicura di un file Bicep.

Nota

Inoltre, è possibile usare la funzione keyVaultName.getSecret(secretName) dall'interno di un file .bicep.

using './main.bicep'

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

Se si usa questa funzione con l'interpolazione di stringhe, viene visualizzato un errore.

È possibile usare un qualificatore dello spazio dei nomi (), ma è facoltativo perché la funzione è disponibile nello az.

Parametri

Parametro Richiesto Type Descrizione
subscriptionId string ID della sottoscrizione con la risorsa dell'insieme di credenziali delle chiavi
resourceGroupName string Nome del gruppo di risorse con la risorsa dell'insieme di credenziali delle chiavi
keyVaultName string Nome dell'insieme di credenziali delle chiavi
secretName string Nome del segreto archiviato nell'insieme di credenziali delle chiavi
secretVersion No string Versione del segreto archiviato nell'insieme di credenziali delle chiavi

Valore restituito

Valore per il segreto.

Esempio

Il file seguente ha un .bicepparam parametro con il valore più recente delsecurePassword<:>

using './main.bicep'

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

Il file seguente .bicepparam ha un securePassword parametro con il valore del <segreto secretName>, ma aggiunto a un secretValue<>:

using './main.bicep'

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

readEnvironmentVariable

readEnvironmentVariable(variableName, [defaultValue])

Questa funzione restituisce il valore della variabile di ambiente o imposta un valore predefinito se la variabile di ambiente non esiste. Il caricamento delle variabili si verifica durante la compilazione e non in fase di esecuzione.

Spazio dei nomi: sys.

Parametri

Parametro Richiesto Type Descrizione
variableName string Nome della variabile.
defaultValue No string Valore stringa predefinito da usare se la variabile di ambiente non esiste.

Valore restituito

Il valore restituito è il valore stringa della variabile di ambiente o un valore predefinito.

Osservazioni:

Il comando seguente imposta la variabile di ambiente solo per il processo di PowerShell in cui viene eseguito. Si ottiene BCP338 da Visual Studio Code:

$env:testEnvironmentVariable = "Hello World!"

Per impostare la variabile di ambiente a livello di utente, eseguire il comando seguente:

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

Per impostare la variabile di ambiente a livello di computer, eseguire il comando seguente:

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

Per altre informazioni, vedere Metodo Environment.SetEnvironmentVariable.

Esempi

Gli esempi seguenti illustrano come recuperare i valori delle variabili di ambiente:

use './main.bicep'

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

Passaggi successivi

Per altre informazioni sui file di parametri Bicep, vedere Creare file di parametri per la distribuzione Bicep.