Importazioni in Bicep
Questo articolo descrive la sintassi usata per esportare e importare funzionalità e spazi dei nomi condivisi. L'uso delle importazioni in fase di compilazione abilita automaticamente la generazione del codice della versione 2.0 del linguaggio.
Esportare variabili, tipi e funzioni
L'elemento @export()
decorator indica che un altro file può importare un'istruzione specifica. Questo elemento decorator è valido solo nelle type
istruzioni , var
e func
. Le istruzioni variabili contrassegnate con @export()
devono essere costanti in fase di compilazione.
La sintassi per l'esportazione delle funzionalità da usare in altri file Bicep è:
@export()
<statement_to_export>
Importare variabili, tipi e funzioni
La sintassi per l'importazione di funzionalità da un altro file Bicep è:
import {<symbol_name>, <symbol_name>, ...} from '<bicep_file_name>'
Con l'aliasing facoltativo per rinominare i simboli:
import {<symbol_name> as <alias_name>, ...} from '<bicep_file_name>'
Uso della sintassi di importazione con caratteri jolly:
import * as <alias_name> from '<bicep_file_name>'
Puoi combinare e associare le sintassi precedenti. Per accedere ai simboli importati usando la sintassi con caratteri jolly, è necessario usare l'operatore .
: <alias_name>.<exported_symbol>
.
Per l'importazione sono disponibili solo le istruzioni esportate nel file a cui si fa riferimento.
È possibile usare le funzionalità importate da un altro file senza restrizioni. Ad esempio, è possibile usare variabili importate in qualsiasi punto in cui una variabile dichiarata nel file sia normalmente valida.
Esempio
export.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
Importa spazi dei nomi
La sintassi per l'importazione degli spazi dei nomi è:
import 'az@1.0.0'
import 'sys@1.0.0'
Sia az
che sys
sono spazi dei nomi integrati in Bicep. Vengono importati per impostazione predefinita. Per ulteriori informazioni sui tipi di dati e sulle funzioni definite in az
e sys
, vedere Tipi di dati e funzioni Bicep.
Contenuto correlato
- Per informazioni sui tipi di dati Bicep, vedere Tipi di dati.
- Per informazioni sulle funzioni Bicep, vedere Funzioni Bicep.
- Per informazioni su come usare l'estensione Kubernetes, vedere l'estensione Bicep Kubernetes.
- Per eseguire un'esercitazione sull'estensione Kubernetes, vedere Avvio rapido : Distribuire applicazioni di Azure in servizio Azure Kubernetes usando l'estensione Bicep Kubernetes.
- Per informazioni su come usare l'estensione Microsoft Graph, vedere Modelli Bicep per Microsoft Graph.