Importy w Bicep
W tym artykule opisano składnię używaną do eksportowania i importowania udostępnionych funkcji i przestrzeni nazw dla rozszerzeń Bicep. Użycie importu w czasie kompilacji automatycznie włącza generowanie kodu w wersji 2.0 .
Eksportowanie zmiennych, typów i funkcji
Dekorator @export()
wskazuje, że inny plik może zaimportować określoną instrukcję. Ten dekorator jest prawidłowy tylko w instrukcjach type
, var
i func
. 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 zmiennych, typów i funkcji
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>
.
Do importowania są dostępne tylko instrukcje wyeksportowane w przywoływanym pliku.
Możesz użyć funkcji zaimportowanych z innego pliku bez ograniczeń. Można na przykład użyć zaimportowanych zmiennych w dowolnym miejscu, w którym 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 rozszerzeń (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 rozszerzeń Bicep to:
import '<extension-name>@<extension-version>'
Składnia importowania rozszerzeń Bicep, które wymagają konfiguracji, to:
import '<extension-name>@<extension-version>' with {
<extension-properties>
}
Aby zapoznać się z przykładem, zobacz rozszerzenie Bicep Kubernetes.
Powiązana zawartość
- 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ę, jak używać rozszerzenia Bicep Kubernetes, zobacz rozszerzenie Bicep Kubernetes.
- Aby zapoznać się z samouczkiem dotyczącym rozszerzenia Kubernetes, zobacz Szybki start: wdrażanie aplikacji platformy Azure w usługach Azure Kubernetes Services przy użyciu rozszerzenia Bicep Kubernetes.