Importer i Bicep
Den här artikeln beskriver syntaxen som du använder för att exportera och importera delade funktioner och namnområden för Bicep-tillägg. Om du använder kompileringstidsimporter aktiveras automatiskt språkversion 2.0-kodgenerering .
Exportera variabler, typer och funktioner
Dekoratören @export()
anger att en annan fil kan importera en specifik instruktion. Den här dekoratören är endast giltig för type
, var
och func
-instruktioner. Variabelinstruktioner som markerats med @export()
måste vara kompileringskonstanter.
Syntaxen för att exportera funktioner för användning i andra Bicep-filer är:
@export()
<statement_to_export>
Importera variabler, typer och funktioner
Syntaxen för att importera funktioner från en annan Bicep-fil är:
import {<symbol_name>, <symbol_name>, ...} from '<bicep_file_name>'
Med valfritt alias för att byta namn på symboler:
import {<symbol_name> as <alias_name>, ...} from '<bicep_file_name>'
Använd syntaxen för jokerteckenimport:
import * as <alias_name> from '<bicep_file_name>'
Du kan blanda och matcha de föregående syntaxerna. Om du vill komma åt importerade symboler med hjälp av jokerteckensyntaxen måste du använda operatorn .
: <alias_name>.<exported_symbol>
.
Endast instruktioner som exporterades i filen som refereras är tillgängliga för import.
Du kan använda funktioner som har importerats från en annan fil utan begränsningar. Du kan till exempel använda importerade variabler var som helst där en variabel som deklareras i filen normalt skulle vara giltig.
Exempel
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
Importera namnområden och tillägg (förhandsversion)
Kommentar
Den experimentella funktionen extensibility
måste vara aktiverad från Bicep-konfigurationsfilen för att kunna använda den här funktionen.
Syntaxen för att importera namnområden är:
import 'az@1.0.0'
import 'sys@1.0.0'
Både az
och sys
är inbyggda Bicep-namnområden. De importeras som standard. Mer information om datatyperna och funktionerna som definierats i och finns i az
Datatyper och Bicep-funktioner.sys
Syntaxen för att importera Bicep-tillägg är:
import '<extension-name>@<extension-version>'
Syntaxen för att importera Bicep-tillägg, som kräver konfiguration, är:
import '<extension-name>@<extension-version>' with {
<extension-properties>
}
Ett exempel finns i Bicep Kubernetes-tillägget.
Relaterat innehåll
- Mer information om Bicep-datatyper finns i Datatyper.
- Mer information om Bicep-funktioner finns i Bicep-funktioner.
- Information om hur du använder Bicep Kubernetes-tillägget finns i Bicep Kubernetes-tillägget.
- Om du vill gå igenom en självstudie om Kubernetes-tillägget kan du läsa Snabbstart: Distribuera Azure-program till Azure Kubernetes Services med hjälp av Bicep Kubernetes-tillägget.