Invoer in Bicep
In dit artikel worden de syntaxis beschreven die u gebruikt voor het exporteren en importeren van gedeelde functionaliteit en naamruimten voor Bicep-extensies. Als u compilatietijd importeert , wordt taalversie 2.0 automatisch gegenereerd.
Variabelen, typen en functies exporteren
De @export()
decorator geeft aan dat een ander bestand een specifieke instructie kan importeren. Deze decorator is alleen geldig voor type
, var
en func
instructies. Variabele-instructies die zijn gemarkeerd met @export()
, moeten compileertijdconstanten zijn.
De syntaxis voor het exporteren van functionaliteit voor gebruik in andere Bicep-bestanden is:
@export()
<statement_to_export>
Variabelen, typen en functies importeren
De syntaxis voor het importeren van functionaliteit uit een ander Bicep-bestand is:
import {<symbol_name>, <symbol_name>, ...} from '<bicep_file_name>'
Met optionele aliasing om de naam van symbolen te wijzigen:
import {<symbol_name> as <alias_name>, ...} from '<bicep_file_name>'
Gebruik de syntaxis voor het importeren van jokertekens:
import * as <alias_name> from '<bicep_file_name>'
U kunt de voorgaande syntaxis combineren en vergelijken. Als u geïmporteerde symbolen wilt openen met behulp van de jokertekensyntaxis, moet u de .
operator: <alias_name>.<exported_symbol>
.
Alleen instructies waarnaar wordt verwezen in het bestand waarnaar wordt verwezen, zijn beschikbaar voor import.
U kunt de functionaliteit gebruiken die is geïmporteerd uit een ander bestand zonder beperkingen. U kunt bijvoorbeeld geïmporteerde variabelen gebruiken waar een variabele die in het bestand is gedeclareerd, normaal gesproken geldig is.
Opmerking
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
Naamruimten en extensies importeren (preview)
Notitie
De experimentele functie extensibility
moet zijn ingeschakeld vanuit het Bicep-configuratiebestand om deze functie te kunnen gebruiken.
De syntaxis voor het importeren van naamruimten is:
import 'az@1.0.0'
import 'sys@1.0.0'
Beide az
en sys
zijn ingebouwde Bicep-naamruimten. Ze worden standaard geïmporteerd. Zie Gegevenstypen en Bicep-functies voor meer informatie over de gegevenstypen en de functies die zijn gedefinieerd in az
ensys
.
De syntaxis voor het importeren van Bicep-extensies is:
import '<extension-name>@<extension-version>'
De syntaxis voor het importeren van Bicep-extensies, waarvoor configuratie is vereist, is:
import '<extension-name>@<extension-version>' with {
<extension-properties>
}
Zie bicep Kubernetes-extensie voor een voorbeeld.
Gerelateerde inhoud
- Zie Gegevenstypen voor meer informatie over Bicep-gegevenstypen.
- Zie Bicep-functies voor meer informatie over Bicep-functies.
- Zie de Bicep Kubernetes-extensie voor meer informatie over het gebruik van de Bicep Kubernetes-extensie.
- Zie quickstart: Azure-toepassingen implementeren in Azure Kubernetes Services met behulp van de Bicep Kubernetes-extensie om een zelfstudie over kubernetes-extensies te doorlopen.