Importações no Bicep
Este artigo descreve a sintaxe que você usa para exportar e importar funcionalidades compartilhadas, bem como namespaces para provedores de extensibilidade do Bicep.
Exportando tipos, variáveis e funções
O decorador @export()
é usado para indicar que uma determinada instrução pode ser importada por outro arquivo. Esse decorador só é válido em instruções de tipo, variável e função. 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 tipos, variáveis 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 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 serem importadas.
A funcionalidade importada de outro arquivo pode ser usada sem restrições. Por exemplo, variáveis importadas podem ser usadas 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 os namespaces e os provedores de extensibilidade (Versão prévia)
Observação
O recurso experimental extensibility
deve ser habilitado no arquivo de configuração do Bicep para utilizar este recurso.
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.
A sintaxe para importar os provedores de extensibilidade do Bicep é:
import '<provider-name>@<provider-version>'
A sintaxe para importar os provedores de extensibilidade do Bicep necessários à configuração são:
import '<provider-name>@<provider-version>' with {
<provider-properties>
}
Para obter um exemplo, consulte Provedor de Kubernetes de extensibilidade do Bicep.
Próximas etapas
- 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 o provedor do Kubernetes, confira Provedor de Kubernetes de extensibilidade do Bicep.
- Para percorrer um tutorial do provedor do Kubernetes, confira Início Rápido – Implantar aplicativos do Azure nos Serviços de Kubernetes do Azure usando o provedor de Kubernetes do Bicep.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de