Importieren in Bicep
In diesem Artikel wird die Syntax beschrieben, mit der Sie freigegebene Funktionen und Namespaces für Bicep-Erweiterungen exportieren und importieren.
Exportieren von Variablen, Typen und Funktionen
Der Decorator @export()
gibt an, dass eine bestimmte Anweisung von einer anderen Datei importiert werden 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 Wildcardsyntax auf importierte Symbole zuzugreifen, müssen Sie den .
-Operator verwenden: <alias_name>.<exported_symbol>
.
Es können nur Anweisungen importiert werden, die in der Datei, auf die verwiesen wird, exportiert wurden.
Funktionen, die aus einer anderen Datei importiert wurden, können ohne Einschränkungen verwendet werden. Importierte Variablen können z. B. überall verwendet werden, wo 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 und Erweiterungen (Preview)
Hinweis
Sie müssen das experimentelle Feature extensibility
über die Bicep-Konfigurationsdatei aktivieren, damit Sie diese Funktion verwenden können.
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.
Die Syntax für das Importieren von Bicep-Erweiterungen lautet:
import '<extension-name>@<extension-version>'
Die Syntax für das Importieren von Bicep-Erweiterungen, die konfiguriert werden müssen, lautet:
import '<extension-name>@<extension-version>' with {
<extension-properties>
}
Ein Beispiel finden Sie unter Bicep Kubernetes-Erweiterung.
Nächste Schritte
- 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 Bicep 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.