Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 decoratore è valido solo per le istruzioni type, var e func. Le istruzioni variabili contrassegnate con @export() devono essere costanti in fase di compilazione.
Note
Non è possibile importare i valori dei parametri usando l'istruzione import. Per riutilizzare i valori dei parametri da un altro file di parametri, usare extends e accedere ai valori ereditati usando base.<parameterName>. Per altre informazioni, vedere Estendere il file dei parametri.
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>'
Utilizzo della sintassi di importazione wildcard:
import * as <alias_name> from '<bicep_file_name>'
Puoi combinare e associare le sintassi precedenti. Per accedere ai simboli importati mediante la sintassi con caratteri jolly, devi 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.
A partire dalla versione 0.31.X dell'interfaccia della riga di comando di Bicep, le variabili importate da altri file Bicep sono accessibili all'interno delle funzioni definite dall'utente, proprio come le variabili definite in locale. Per altre informazioni, vedere Funzioni definite dall'utente.
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
Importare spazi dei nomi
La sintassi per importare gli spazi dei nomi è:
import 'az@1.0.0'
import 'sys@1.0.0'
Sia az che sys sono spazi dei nomi predefiniti di 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, vedi estensione Kubernetes di Bicep.
- 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 i file Bicep per Microsoft Graph.