Bicep에서 가져오기
이 문서에서는 공유 기능을 내보내고 가져오는 데 사용하는 구문과 Bicep 확장의 네임스페이스에 대해 설명합니다.
변수, 형식 및 함수 내보내기
데코레이터는 @export()
지정된 문을 다른 파일에서 가져올 수 있음을 나타냅니다. 이 데코레이터는 , var
및 func
문에서type
만 유효합니다. @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'
az
및 sys
는 모두 Bicep 기본 제공 네임스페이스입니다. 기본적으로 가져옵니다. az
및 sys
에 정의된 데이터 형식 및 함수에 대한 자세한 내용은 데이터 형식 및 Bicep 함수를 참조하세요.
Bicep 확장을 가져오기 위한 구문은 다음과 같습니다.
import '<extension-name>@<extension-version>'
구성이 필요한 Bicep 확장을 가져오기 위한 구문은 다음과 같습니다.
import '<extension-name>@<extension-version>' with {
<extension-properties>
}
예를 들어 Bicep Kubernetes 확장을 참조 하세요.