Invoer in Bicep
In dit artikel worden de syntaxis beschreven die u gebruikt voor het exporteren en importeren van gedeelde functionaliteit, evenals naamruimten voor Bicep-uitbreidbaarheidsproviders.
Typen, variabelen en functies exporteren
De @export()
decorator wordt gebruikt om aan te geven dat een bepaalde instructie kan worden geïmporteerd door een ander bestand. Deze decorator is alleen geldig voor type-, variabele- en functie-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>
Typen, variabelen 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 syntaxis van het jokerteken, moet u de .
operator gebruiken: <alias_name>.<exported_symbol>
Alleen instructies waarnaar wordt verwezen in het bestand waarnaar wordt verwezen, zijn beschikbaar om te worden geïmporteerd.
Functionaliteit die is geïmporteerd uit een ander bestand, kan zonder beperkingen worden gebruikt. Geïmporteerde variabelen kunnen bijvoorbeeld overal worden gebruikt 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 uitbreidbaarheidsproviders 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-uitbreidbaarheidsproviders is:
import '<provider-name>@<provider-version>'
De syntaxis voor het importeren van Bicep-uitbreidbaarheidsproviders waarvoor configuratie is vereist, is:
import '<provider-name>@<provider-version>' with {
<provider-properties>
}
Zie voor een voorbeeld bicep-uitbreidbaarheid kubernetes-provider.
Volgende stappen
- Zie Gegevenstypen voor meer informatie over de Bicep-gegevenstypen.
- Zie Bicep-functies voor meer informatie over de Bicep-functies.
- Zie Bicep extensibility Kubernetes provider voor meer informatie over het gebruik van de Kubernetes-provider.
- Zie Quickstart: Azure-toepassingen implementeren in Azure Kubernetes Services met behulp van bicep Kubernetes-provider om een zelfstudie over een Kubernetes-provider van Kubernetes te doorlopen.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor