Importações em Bicep
Este artigo descreve a sintaxe que você usa para exportar e importar funcionalidades compartilhadas e namespaces para extensões Bicep. O uso de importações em tempo de compilação habilita automaticamente a geração de código da versão 2.0 do idioma.
Exportar variáveis, tipos e funções
O @export()
decorador indica que outro arquivo pode importar uma declaração específica. Este decorador só é válido em type
, var
, e func
declarações. As instruções de variáveis marcadas com @export()
devem ser constantes de tempo de compilação.
A sintaxe para exportar a funcionalidade para uso em outros arquivos Bicep é:
@export()
<statement_to_export>
Importar variáveis, tipos e funções
A sintaxe para importar a funcionalidade de outro arquivo Bicep é:
import {<symbol_name>, <symbol_name>, ...} from '<bicep_file_name>'
Com aliasing opcional para renomear símbolos:
import {<symbol_name> as <alias_name>, ...} from '<bicep_file_name>'
Usando a sintaxe de importação curinga:
import * as <alias_name> from '<bicep_file_name>'
Você pode misturar e combinar as sintaxes anteriores. Para acessar símbolos importados usando a sintaxe curinga, você deve usar o .
operador: <alias_name>.<exported_symbol>
.
Somente as instruções que foram exportadas no arquivo que está sendo referenciado estão disponíveis para importação.
Você pode usar a funcionalidade que foi importada de outro arquivo sem restrições. Por exemplo, você pode usar variáveis importadas em qualquer lugar que uma variável declarada no arquivo normalmente seria válida.
Exemplo
exportações.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
Importar namespaces e extensões (visualização)
Nota
O recurso extensibility
experimental deve ser habilitado a partir do arquivo de configuração do Bicep para usar esse recurso.
A sintaxe para importar namespaces é:
import 'az@1.0.0'
import 'sys@1.0.0'
Ambos az
e sys
são namespaces internos do Bicep. Eles são importados por padrão. Para obter mais informações sobre os tipos de dados e as funções definidas em az
e sys
, consulte Tipos de dados e funções do Bíceps.
A sintaxe para importar extensões Bicep é:
import '<extension-name>@<extension-version>'
A sintaxe para importar extensões Bicep, que requerem configuração é:
import '<extension-name>@<extension-version>' with {
<extension-properties>
}
Para obter um exemplo, consulte Extensão Bicep Kubernetes.
Conteúdos relacionados
- Para saber mais sobre os tipos de dados do Bíceps, consulte Tipos de dados.
- Para saber mais sobre as funções do bíceps, consulte Funções do bíceps.
- Para saber como usar a extensão Bicep Kubernetes, consulte Extensão Bicep Kubernetes.
- Para passar por um tutorial de extensão do Kubernetes, consulte Guia de início rápido: implantar aplicativos do Azure nos Serviços Kubernetes do Azure usando a extensão Kubernetes do Bicep.