Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden die Syntax beschrieben, die Sie zum Exportieren und Importieren freigegebener Funktionen und Namespaces verwenden können. Durch die Verwendung von Kompilierzeitimporten wird automatisch die Codegenerierung für Sprachversion 2.0 aktiviert.
Exportieren von Variablen, Typen und Funktionen
Der @export()-Decorator gibt an, dass eine andere Datei eine bestimmte Anweisung importieren kann. Dieser Decorator ist nur für type-, var- und func-Anweisungen gültig. Variablendeklarationen, die mit @export() gekennzeichnet sind, müssen Kompilierzeitkonstanten sein.
Note
Sie können Parameterwerte nicht mithilfe der importAnweisung importieren. Um Parameterwerte aus einer anderen Parameterdatei wiederzuverwenden, verwenden Sie extends und greifen Sie mithilfe von base.<parameterName> auf geerbte Werte zu. Weitere Informationen finden Sie in der Datei "Parameter erweitern".
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 Wildcard-Import:
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.
Ab Bicep CLI Version 0.31.X können variablen, die aus anderen Bicep-Dateien importiert wurden, in Ihren benutzerdefinierten Funktionen wie lokal definierte Variablen zugänglich sein. Weitere Informationen finden Sie unter Benutzerdefinierte Funktionen.
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.
- Eine Anleitung zur Kubernetes-Erweiterung finden Sie unter Schnellstart – Bereitstellen von Azure-Anwendungen in Azure Kubernetes Service mithilfe der Bicep-Kubernetes-Erweiterung.
- Informationen zur Verwendung der Microsoft Graph-Erweiterung finden Sie unter Bicep-Dateien für Microsoft Graph.