Importy w Bicep
W tym artykule opisano składnię używaną do eksportowania i importowania funkcji udostępnionych, a także przestrzeni nazw dla dostawców rozszerzalności Bicep.
Eksportowanie typów, zmiennych i funkcji (wersja zapoznawcza)
Dekorator @export()
służy do wskazywania, że dana instrukcja może zostać zaimportowana przez inny plik. Ten dekorator jest prawidłowy tylko dla instrukcji typu, zmiennej i funkcji. Instrukcje zmiennych oznaczone za pomocą @export()
muszą być stałymi czasu kompilacji.
Składnia eksportowania funkcji do użycia w innych plikach Bicep to:
@export()
<statement_to_export>
Importowanie typów, zmiennych i funkcji (wersja zapoznawcza)
Składnia importowania funkcji z innego pliku Bicep to:
import {<symbol_name>, <symbol_name>, ...} from '<bicep_file_name>'
W przypadku opcjonalnego aliasu w celu zmiany nazwy symboli:
import {<symbol_name> as <alias_name>, ...} from '<bicep_file_name>'
Korzystając ze składni importowania symboli wieloznacznych:
import * as <alias_name> from '<bicep_file_name>'
Można mieszać i dopasowywać poprzednie składnie. Aby uzyskać dostęp do importowanych symboli przy użyciu składni symboli wieloznacznych, należy użyć .
operatora : <alias_name>.<exported_symbol>
.
Importowane są tylko instrukcje wyeksportowane w przywoływanym pliku.
Funkcje zaimportowane z innego pliku mogą być używane bez ograniczeń. Na przykład zaimportowane zmienne mogą być używane w dowolnym miejscu, w jakim zmienna zadeklarowana w pliku będzie normalnie prawidłowa.
Przykład
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
Importowanie przestrzeni nazw i dostawców rozszerzalności (wersja zapoznawcza)
Uwaga
Aby korzystać z tej funkcji, należy włączyć funkcję extensibility
eksperymentalną z pliku konfiguracji Bicep.
Składnia importowania przestrzeni nazw to:
import 'az@1.0.0'
import 'sys@1.0.0'
Obie az
i sys
są wbudowanymi przestrzeniami nazw Bicep. Są one domyślnie importowane. Aby uzyskać więcej informacji na temat typów danych i funkcji zdefiniowanych w az
systemach i sys
, zobacz Typy danych i funkcje Bicep.
Składnia importowania dostawców rozszerzalności Bicep jest następująca:
import '<provider-name>@<provider-version>'
Składnia importowania dostawców rozszerzalności Bicep, którzy wymagają konfiguracji, to:
import '<provider-name>@<provider-version>' with {
<provider-properties>
}
Aby zapoznać się z przykładem, zobacz Dostawca rozszerzenia Kubernetes Bicep.
Następne kroki
- Aby dowiedzieć się więcej o typach danych Bicep, zobacz Typy danych.
- Aby dowiedzieć się więcej o funkcjach Bicep, zobacz Funkcje Bicep.
- Aby dowiedzieć się więcej o sposobie korzystania z dostawcy Kubernetes, zobacz Dostawca rozszerzeń platformy Kubernetes Bicep.
- Aby zapoznać się z samouczkiem dotyczącym dostawcy Kubernetes, zobacz Szybki start — wdrażanie aplikacji platformy Azure w usługach Azure Kubernetes Services przy użyciu dostawcy Bicep Kubernetes.