Importaciones en Bicep
En este artículo se describe la sintaxis que se usa para exportar e importar la funcionalidad compartida, así como los espacios de nombres para proveedores de extensibilidad de Bicep.
Exportación de tipos, variables y funciones
El decorador @export()
se usa para indicar que otro archivo puede importar una instrucción determinada. Este decorador solo es válido en las instrucciones de tipo, variable y función. Las instrucciones variables marcadas con @export()
deben ser constantes en tiempo de compilación.
La sintaxis para exportar la funcionalidad para su uso en otros archivos de Bicep es:
@export()
<statement_to_export>
Importación de tipos, variables y funciones
La sintaxis para importar la funcionalidad desde otro archivo de Bicep es:
import {<symbol_name>, <symbol_name>, ...} from '<bicep_file_name>'
Con alias opcional para cambiar el nombre de los símbolos:
import {<symbol_name> as <alias_name>, ...} from '<bicep_file_name>'
Con la sintaxis de importación de caracteres comodín:
import * as <alias_name> from '<bicep_file_name>'
Puede mezclar y hacer coincidir las sintaxis anteriores. Para acceder a los símbolos importados mediante la sintaxis de caracteres comodín, debe usar el operador .
: <alias_name>.<exported_symbol>
.
Solo las instrucciones que se han exportado en el archivo al que se hace referencia están disponibles para importarse.
La funcionalidad que se ha importado desde otro archivo se puede usar sin restricciones. Por ejemplo, las variables importadas pueden usarse en cualquier lugar donde normalmente sería válida una variable declarada en un archivo.
Ejemplo
exports.bicep
@export()
type myObjectType = {
foo: string
bar: int
}
@export()
var myConstant = 'This is a constant value'
@export()
func sayHello(name string) string => 'Hello ${name}!'
main.bicep
import * as myImports from 'exports.bicep'
import {myObjectType, sayHello} from 'exports.bicep'
param exampleObject myObjectType = {
foo: myImports.myConstant
bar: 0
}
output greeting string = sayHello('Bicep user')
output exampleObject myImports.myObjectType = exampleObject
Importación de espacios de nombres y proveedores de extensibilidad (versión preliminar)
Nota:
La característica experimental extensibility
debe estar habilitada desde el archivo de configuración de Bicep para usar esta característica.
La sintaxis para importar espacios de nombres es:
import 'az@1.0.0'
import 'sys@1.0.0'
Tanto az
como sys
son espacios de nombres integrados de Bicep. Se importan de forma predeterminada. Para obtener más información sobre los tipos de datos y las funciones definidas en az
y sys
, consulte Tipos de datos y funciones de Bicep.
La sintaxis para importar proveedores de extensibilidad de Bicep es:
import '<provider-name>@<provider-version>'
La sintaxis para importar proveedores de extensibilidad de Bicep que requieren configuración es:
import '<provider-name>@<provider-version>' with {
<provider-properties>
}
Para ver un ejemplo, consulte Proveedor de Kubernetes de extensibilidad de Bicep.
Pasos siguientes
- Para aprender sobre los tipos de datos de Bicep, consulte Tipos de datos.
- Para obtener más información sobre las funciones de Bicep, consulte Funciones de Bicep.
- Para obtener más información sobre cómo usar el proveedor de Kubernetes, consulte Proveedor de Kubernetes de extensibilidad de Bicep.
- Para ver un tutorial del proveedor de Kubernetes, consulte Inicio rápido: Implementación de aplicaciones de Azure en Azure Kubernetes Services mediante el proveedor de Kubernetes de 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