Introducción a las funciones de Bicep
En este artículo se describen todas las funciones que puede usar en un archivo de Bicep. Para definir funciones personalizadas, consulte Funciones definidas por el usuario. Para obtener una descripción de las secciones de un archivo de Bicep, consulte Estructura y sintaxis de archivos de Bicep.
La mayoría de las funciones operan de la misma forma cuando se implementan en un grupo de recursos, en una suscripción, en un grupo de administración o en un inquilino. Hay algunas funciones que no pueden utilizarse en todos los ámbitos. Se indican en las listas siguientes.
Espacios de nombres para funciones
Todas las funciones de Bicep se encuentran dentro de dos espacios de nombres: az
y sys
. Normalmente, no es necesario especificar el espacio de nombres cuando se usa la función. Especifique el espacio de nombres solo cuando el nombre de la función sea el mismo que otro elemento que haya definido en el archivo Bicep. Por ejemplo, si crea un parámetro denominado range
, debe diferenciar la función range
mediante la incorporación del espacio de nombres sys
.
// Parameter contains the same name as a function
param range int
// Must use sys namespace to call the function.
// The second use of range refers to the parameter.
output result array = sys.range(1, range)
El espacio de nombres az
contiene funciones específicas de una implementación de Azure. El espacio de nombres sys
contiene funciones que se usan para construir valores. El espacio de nombres sys
también incluye elementos decoradores para parámetros y bucles de recursos. Los espacios de nombres se anotan en este artículo.
Cualquier función
La función any está disponible en Bicep para ayudar a resolver problemas relacionados con las advertencias de tipos de datos. Esta función está en el espacio de nombres sys
.
Funciones de matriz
Las siguientes funciones están disponibles para trabajar con matrices. Todas estas funciones están en el espacio de nombres sys
.
- array
- concat
- contains
- empty
- indexOf
- first
- flatten
- intersection
- last
- lastIndexOf
- length
- min
- max
- range
- skip
- take
- union
Funciones entre dominios sin clases (CIDR)
Las siguientes funciones están disponibles para trabajar con CIDR. Todas estas funciones están en el sys
espacio de nombres:
Funciones de fecha
Las siguientes funciones están disponibles para trabajar con fechas. Todas estas funciones están en el sys
espacio de nombres:
Funciones con valores de implementación
Las siguientes funciones están disponibles para obtener valores relacionados con la implementación. Todas estas funciones están en el az
espacio de nombres:
Funciones de archivo
Las siguientes funciones están disponibles para cargar el contenido de archivos externos en el archivo Bicep. Todas estas funciones están en el sys
espacio de nombres:
Funciones Lambda
Las siguientes funciones están disponibles para trabajar con expresiones lambda. Todas estas funciones están en el sys
espacio de nombres:
Función lógica
La siguiente función está disponible para trabajar con condiciones lógicas. Esta función está en el espacio de sys
nombres:
Funciones numéricas
Las siguientes funciones están disponibles para trabajar con enteros. Todas estas funciones están en el sys
espacio de nombres:
Funciones de objeto
Las siguientes funciones están disponibles para trabajar con objetos. Todas estas funciones están en el sys
espacio de nombres:
Funciones de archivo de parámetros
Las siguientes funciones están disponibles para usarse en archivos de parámetros de Bicep. Todas estas funciones están en el sys
espacio de nombres:
Funciones de recursos
Las siguientes funciones están disponibles para obtener valores de recursos. La mayoría de estas funciones están en el espacio de nombres az
. Las list
funciones y getSecret
no tienen calificadores de espacio de nombres, ya que se denominan directamente en el tipo de recurso:
- extensionResourceId
- getSecret
- listAccountSas
- listKeys
- listSecrets
- list*
- managementGroupResourceId
- pickZones
- providers (en desuso)
- referencia
- resourceId : se puede usar en cualquier ámbito, pero los parámetros válidos cambian en función del ámbito.
- subscriptionResourceId
- tenantResourceId
Funciones de Scope
Las siguientes funciones están disponibles para obtener valores de ámbito. Todas estas funciones están en el az
espacio de nombres:
- managementGroup
- resourceGroup : solo se puede usar en implementaciones en un grupo de recursos.
- subscription : solo se puede usar en implementaciones en un grupo de recursos o una suscripción.
- tenant
Funciones de cadena
Bicep ofrece las siguientes funciones para trabajar con cadenas. Todas estas funciones están en el sys
espacio de nombres:
- base64
- base64ToJson
- base64ToString
- concat
- contains
- dataUri
- dataUriToString
- empty
- endsWith
- first
- format
- guid
- indexOf
- join
- last
- lastIndexOf
- length
- newGuid
- padLeft
- replace
- skip
- split
- startsWith
- string
- substring
- take
- toLower
- toUpper
- trim
- uniqueString
- uri
- uriComponent
- uriComponentToString
Pasos siguientes
- Para iterar un número específico de veces al crear un tipo de recurso, consulte Bucles iterativos en Bicep.
- Para obtener información sobre cómo implementar el archivo de Bicep que ha creado, consulte Implementación de archivos de Bicep con la CLI de Azure y Azure PowerShell.