Importazioni in Bicep
Questo articolo descrive la sintassi usata per esportare e importare funzionalità condivise e spazi dei nomi per le estensioni Bicep. 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
Importare spazi dei nomi ed estensioni (anteprima)
Nota
La funzionalità sperimentale extensibility
deve essere abilitata dal file di configurazione Bicep per usare tale funzionalità.
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.
La sintassi per l'importazione di estensioni Bicep è la seguente:
import '<extension-name>@<extension-version>'
La sintassi per l'importazione di estensioni Bicep, che richiedono la configurazione è:
import '<extension-name>@<extension-version>' with {
<extension-properties>
}
Per un esempio, vedere Estensione Di Bicep Kubernetes.
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 Bicep Kubernetes, vedere l'estensione Bicep Kubernetes.
- Per eseguire un'esercitazione sull'estensione Kubernetes, vedere Avvio rapido: Distribuire applicazioni azure in servizio Azure Kubernetes usando l'estensione Kubernetes Bicep.