Importieren in Bicep
In diesem Artikel werden die Syntax beschrieben, die Sie zum Exportieren und Importieren freigegebener Funktionen und Namespaces verwenden können. Durch die Verwendung von Importen zur Kompilierzeit wird automatisch die Codegenerierung mit der Sprachversion 2.0 aktiviert.
Exportieren von Variablen, Typen und Funktionen
Der @export()
-Decorator gibt an, dass eine andere Datei eine bestimmte Anweisung importieren kann. Dieses Decorator-Element ist nur für type
-, var
- und func
-Anweisungen gültig. Variable Anweisungen, die mit @export()
gekennzeichnet sind, müssen Kompilierzeitkonstanten sein.
Die Syntax für den Export von Funktionen für die Verwendung in anderen Bicep-Dateien ist:
@export()
<statement_to_export>
Importieren von Variablen, Typen und Funktionen
Die Syntax für den Import von Funktionen aus einer anderen Bicep-Datei ist:
import {<symbol_name>, <symbol_name>, ...} from '<bicep_file_name>'
Mit optionalem Aliasing zum Umbenennen von Symbolen:
import {<symbol_name> as <alias_name>, ...} from '<bicep_file_name>'
Verwenden der Syntax für den Wildcardimport:
import * as <alias_name> from '<bicep_file_name>'
Sie können die vorhergehenden Syntaxen beliebig kombinieren. Um mit der Platzhaltersyntax auf importierte Symbole zuzugreifen, müssen Sie den .
-Operator verwenden: <alias_name>.<exported_symbol>
.
Nur Anweisungen, die in die verwiesene Datei exportiert wurden, sind für den Import verfügbar.
Sie können Funktionen, die aus einer anderen Datei importiert wurden, ohne Einschränkungen verwenden. Sie können beispielsweise importierte Variablen an einer beliebigen Stelle verwenden, an der eine in der Datei deklarierte Variable normalerweise gültig wäre.
Beispiel
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
Importieren von Namespaces
Die Syntax für das Importieren von Namespaces lautet:
import 'az@1.0.0'
import 'sys@1.0.0'
Sowohl az
als auch sys
sind integrierte Bicep-Namespaces. Sie werden standardmäßig importiert. Weitere Informationen zu den Datentypen und den in az
und sys
definierten Funktionen finden Sie unter Datentypen und Bicep-Funktionen.
Zugehöriger Inhalt
- Weitere Informationen zu den Bicep-Datentypen finden Sie unter Datentypen.
- Weitere Informationen zu den Bicep-Funktionen finden Sie unter Bicep-Funktionen.
- Informationen zur Verwendung der Kubernetes-Erweiterung finden Sie unter Bicep Kubernetes-Erweiterung.
- Informationen zum Tutorial einer Kubernetes-Erweiterung finden Sie unter Schnellstart – Bereitstellen von Azure-Anwendungen in Azure Kubernetes Services mithilfe des Bicep-Kubernetes-Erweiterung.
- Informationen zur Verwendung der Microsoft Graph-Erweiterung finden Sie unter Bicep-Vorlagen für Microsoft Graph.