다음을 통해 공유


Bicep에서 가져오기

이 문서에서는 공유 기능을 내보내고 가져오는 데 사용하는 구문과 Bicep 확장성 공급자의 네임스페이스에 대해 설명합니다.

형식, 변수 및 함수 내보내기

@export() 데코레이터는 지정된 문을 다른 파일에서 가져올 수 있음을 나타내는 데 사용됩니다. 이 데코레이터는 형식, 변수 및 함수 문에만 유효합니다. @export()가 표시된 변수 문은 컴파일 시간 상수여야 합니다.

다른 Bicep 파일에서 사용할 기능을 내보내는 구문은 다음과 같습니다.

@export()
<statement_to_export>

형식, 변수 및 함수 가져오기

다른 Bicep 파일에서 기능을 가져오는 구문은 다음과 같습니다.

import {<symbol_name>, <symbol_name>, ...} from '<bicep_file_name>'

기호 이름을 바꾸는 선택적 별칭 사용:

import {<symbol_name> as <alias_name>, ...} from '<bicep_file_name>'

와일드카드 가져오기 구문 사용:

import * as <alias_name> from '<bicep_file_name>'

이전 구문을 적절히 조합해서 사용할 수 있습니다. 와일드카드 구문을 사용하여 가져온 기호에 액세스하려면 . 연산자 <alias_name>.<exported_symbol>을 사용해야 합니다.

참조되는 파일에서 내보낸 문만 가져올 수 있습니다.

다른 파일에서 가져온 기능은 제한 없이 사용할 수 있습니다. 예를 들어 가져온 변수는 파일에서 선언된 변수가 일반적으로 유효한 모든 곳에서 사용할 수 있습니다.

예시

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

네임스페이스 및 확장성 공급자 가져오기(미리 보기)

참고 항목

이 기능을 사용하려면 Bicep 구성 파일에서 실험 기능 extensibility를 사용하도록 설정해야 합니다.

네임스페이스를 가져오기 위한 구문은 다음과 같습니다.

import 'az@1.0.0'
import 'sys@1.0.0'

azsys는 모두 Bicep 기본 제공 네임스페이스입니다. 기본적으로 가져옵니다. azsys에 정의된 데이터 형식 및 함수에 대한 자세한 내용은 데이터 형식Bicep 함수를 참조하세요.

Bicep 확장성 공급자를 가져오기 위한 구문은 다음과 같습니다.

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

구성이 필요한 Bicep 확장성 공급자를 가져오기 위한 구문은 다음과 같습니다.

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

예를 들어 Bicep 확장성 Kubernetes 공급자를 참조하세요.

다음 단계