Importações em Bicep

Este artigo descreve a sintaxe que você usa para exportar e importar a funcionalidade compartilhada, bem como namespaces para provedores de extensibilidade do Bicep.

Exportando tipos, variáveis e funções (Visualização)

Nota

A CLI do Bíceps versão 0.23.X ou superior é necessária para usar esse recurso. O recurso compileTimeImports experimental deve ser ativado a partir do arquivo de configuração do Bicep. Para funções definidas pelo usuário, o recurso userDefinedFunctions experimental também deve ser habilitado.

O @export() decorador é usado para indicar que uma determinada declaração pode ser importada por outro arquivo. Este decorador só é válido em instruções de tipo, variável e função. 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 tipos, variáveis e funções (Pré-visualização)

Nota

A CLI do Bíceps versão 0.23.X ou superior é necessária para usar esse recurso. O recurso compileTimeImports experimental deve ser ativado a partir do arquivo de configuração do Bicep. Para funções definidas pelo usuário, o recurso userDefinedFunctions experimental também deve ser habilitado.

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 serem importadas .

A funcionalidade que foi importada de outro arquivo pode ser usada sem restrições. Por exemplo, as variáveis importadas podem ser usadas em qualquer lugar onde 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 provedores de extensibilidade (Visualização)

Nota

O recurso experimental deve ser habilitado a partir do arquivo de configuração do Bicep para usar esse recursoextensibility.

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 , consulte Tipos de dados e sysfunções do Bíceps.

A sintaxe para importar provedores de extensibilidade do Bicep é:

import '<provider-name>@<provider-version>'

A sintaxe para importar provedores de extensibilidade do Bicep que exigem configuração é:

import '<provider-name>@<provider-version>' with {
  <provider-properties>
}

Para obter um exemplo, consulte Provedor Kubernetes de extensibilidade do Bicep.

Próximos passos