Operador de propagación de Bicep
El operador de propagación se usa para expandir una matriz o objeto iterable en elementos individuales. El operador de propagación permite manipular fácilmente matrices u objetos mediante la propagación de sus elementos o propiedades en nuevas matrices o objetos.
Spread
...
El operador de propagación se usa para copiar propiedades de un objeto a otro o para combinar matrices y objetos de forma concisa y legible.
Ejemplos
En el siguiente ejemplo se muestra el operador de propagación usado en un objeto :
var objA = { bar: 'bar' }
output objB object = { foo: 'foo', ...objA }
Salida del ejemplo:
Nombre | Tipo | Valor |
---|---|---|
objB |
objeto | { foo: 'foo', bar: 'bar' } |
En el siguiente ejemplo se muestra el operador de propagación usado en una matriz:
var arrA = [ 2, 3 ]
output arrB array = [ 1, ...arrA, 4 ]
Salida del ejemplo:
Nombre | Tipo | Value |
---|---|---|
arrB |
array | [ 1, 2, 3, 4 ] |
En el siguiente ejemplo se muestra la propagación usada varias veces en una sola operación:
var arrA = [ 2, 3 ]
output arrC array = [ 1, ...arrA, 4, ...arrA ]
Salida del ejemplo:
Nombre | Tipo | Value |
---|---|---|
arrC |
array | [ 1, 2, 3, 4, 2, 3 ] |
En el siguiente ejemplo se muestra la propagación usada en una operación de varias líneas:
var objA = { foo: 'foo' }
var objB = { bar: 'bar' }
output combined object = {
...objA
...objB
}
En este uso, la coma no se usa entre las dos líneas. Salida del ejemplo:
Nombre | Tipo | Valor |
---|---|---|
combined |
objeto | { foo: 'foo', bar: 'bar' } |
La operación de propagación se puede usar para evitar establecer una propiedad opcional. Por ejemplo:
param vmImageResourceId string = ''
var bar = vmImageResourceId != '' ? {
id: vmImageResourceId
} : {}
output foo object = {
...bar
alwaysSet: 'value'
}
Salida del ejemplo:
Nombre | Tipo | Valor |
---|---|---|
foo |
objeto | {"alwaysSet":"value"} |
El ejemplo anterior también se puede escribir como:
param vmImageResourceId string = ''
output foo object = {
...(vmImageResourceId != '' ? {
id: vmImageResourceId
} : {})
alwaysSet: 'value'
}
Pasos siguientes
- Si desea ejecutar los ejemplos, use la CLI de Azure o Azure PowerShell para implementar un archivo de Bicep.
- Para crear un archivo de Bicep, consulte Inicio rápido: Creación de plantillas de archivos de Bicep con Visual Studio Code.
- Para obtener información sobre cómo resolver errores de tipos de Bicep, consulte Función any para Bicep.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de