Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo descreve a sintaxe que você usa para exportar e importar funcionalidades e namespaces compartilhados. 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.
A partir da CLI do Bicep versão 0.31.X, as variáveis importadas de outros arquivos Bicep são acessíveis dentro de suas funções definidas pelo usuário, assim como as variáveis definidas localmente. Para obter mais informações, consulte Funções definidas pelo usuário.
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
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.
Conteúdos relacionados
- Para saber mais sobre os tipos de dados Bicep, consulte Tipos de dados.
- Para saber mais sobre as funções do bíceps, consulte Funções do bíceps.
- Para saber mais sobre como usar a extensão 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.
- Para saber mais sobre como usar a extensão Microsoft Graph, consulte Arquivos Bicep para Microsoft Graph.