Función de archivo de parámetros para Bicep
Bicep proporciona una función llamada readEnvironmentVariable()
que permite recuperar valores de variables de entorno. También ofrece la flexibilidad de establecer un valor predeterminado si la variable de entorno no existe. Esta función solo se puede utilizar en los archivos .bicepparam
. Para más información, consulte el archivo de parámetros de Bicep.
getSecret
getSecret(subscriptionId, resourceGroupName, keyVaultName, secretName, secretVersion)
Devuelve un secreto de Azure Key Vault. Use esta función para pasar un secreto a un parámetro de cadena segura de un archivo Bicep.
Nota:
También puede usar la función keyVaultName.getSecret(secretName) desde dentro de un archivo .bicep
.
using './main.bicep'
param secureUserName = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretUserName')
param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword')
Se produce un error si usa esta función con interpolación de cadenas.
Se puede usar un calificador de espacio de nombres (az
), pero es opcional, ya que la función está disponible en el espacio de nombres de Azure predeterminado.
Parámetros
Parámetro | Obligatorio | Type | Descripción |
---|---|---|---|
subscriptionId | Sí | cadena | Identificador de la suscripción que tiene el recurso del almacén de claves. |
resourceGroupName | Sí | cadena | Nombre del grupo de recursos que tiene el recurso del almacén de claves. |
keyVaultName | Sí | cadena | Nombre del almacén de claves. |
secretName | Sí | cadena | Nombre del secreto almacenado en el almacén de claves. |
secretVersion | No | cadena | Versión del secreto almacenado en el almacén de claves. |
Valor devuelto
Valor del secreto.
Ejemplo
El siguiente archivo .bicepparam
tiene un parámetro securePassword
que tiene el valor más reciente del secreto <secretName> .
using './main.bicep'
param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword')
El siguiente archivo .bicepparam
tiene un parámetro securePassword
que tiene el valor del secreto <secretName>, pero está anclado a un <secretValue específico>.
using './main.bicep'
param securePassword = getSecret('exampleSubscription', 'exampleResourceGroup', 'exampleKeyVault', 'exampleSecretPassword', 'exampleSecretVersion')
readEnvironmentVariable
readEnvironmentVariable(variableName, [defaultValue])
Devuelve el valor de la variable de entorno, o establece un valor predeterminado si la variable de entorno no existe. La carga de variables se produce durante la compilación, no en tiempo de ejecución.
Espacio de nombres: sys.
Parámetros
Parámetro | Obligatorio | Type | Descripción |
---|---|---|---|
nombre_de_variable | Sí | string | El nombre de la variable. |
defaultValue | No | string | Valor de cadena predeterminado que se va a usar si la variable de entorno no existe. |
Valor devuelto
Valor de cadena de la variable de entorno o un valor predeterminado.
Comentarios
El comando siguiente establece la variable de entorno solo para el proceso de PowerShell en el que se ejecuta. Obtiene BCP338 de Visual Studio Code.
$env:testEnvironmentVariable = "Hello World!"
Para establecer la variable de entorno en el nivel de usuario, use el siguiente comando:
[System.Environment]::SetEnvironmentVariable('testEnvironmentVariable','Hello World!', 'User')
Para establecer la variable de entorno en el nivel de máquina, use el siguiente comando:
[System.Environment]::SetEnvironmentVariable('testEnvironmentVariable','Hello World!', 'Machine')
Para obtener más información, vea Environment.SetEnvironmentVariable (método).
Ejemplos
Los siguientes ejemplos muestran cómo recuperar los valores de las variables de entorno.
use './main.bicep'
param adminPassword = readEnvironmentVariable('admin_password')
param boolfromEnvironmentVariables = bool(readEnvironmentVariable('boolVariableName','false'))
Pasos siguientes
Para obtener más información sobre el archivo de parámetros de Bicep, consulte Archivo de parámetros.