Importações no Bicep
Esse artigo descreve a sintaxe que você usa para exportar e importar funcionalidade e namespaces compartilhados. Usar importações de tempo de compilação habilita automaticamente a geração de código versão 2.0 do idioma.
Exportar variáveis, tipos e funções
O decorador @export()
indica que outro arquivo pode importar uma instrução específica. Este decorador só é válido em instruções type
, var
e func
. Instruções 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 corresponder às duas sintaxes anteriores. Para acessar símbolos importados usando a sintaxe de curinga, você deve usar o operador .
: <alias_name>.<exported_symbol>
.
Somente demonstrativos que foram exportados no arquivo 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 em que uma variável declarada no arquivo normalmente seria válida.
Exemplo
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
Importar namespaces
A sintaxe para importar namespaces é:
import 'az@1.0.0'
import 'sys@1.0.0'
Tanto az
quanto 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 Bicep.
Conteúdo relacionado
- Para saber mais sobre os tipos de dados do Bicep, consulte Tipos de dados.
- Para saber mais sobre as funções do bíceps, consulte Funções do Bicep.
- Para saber mais sobre como usar a extensão do Kubernetes do Bicep, consulte Extensão do Kubernetes do Bicep.
- Para percorrer um tutorial de extensão do Kubernetes, consulte Início Rápido – Implantar os aplicativos do Azure nos Serviços de Kubernetes do Azure usando a extensão do Kubernetes do Bicep..
- Para saber mais sobre como usar a extensão do Microsoft Graph, consulte Modelos do Bicep para o Microsoft Graph.