Bicep でのインポート
この記事では、Bicep 拡張機能で共有機能と名前空間のエクスポートとインポートに使用する構文について説明します。 コンパイル時インポートを使用すると、言語バージョン 2.0 コード生成が自動的に有効になります。
変数、型、関数のエクスポート
@export()
デコレーターは、別のファイルが特定のステートメントをインポートできることを表します。 このデコレーターは、type
、var
、func
ステートメントでのみ有効です。 @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
名前空間と拡張機能をインポートする (プレビュー)
Note
この機能を使用するには、実験的フィーチャー extensibility
はBicep 構成ファイル から有効にする必要があります。
名前空間をインポートするための構文は次のとおりです:
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 拡張機能」を参照してください。
関連するコンテンツ
- Bicep のデータ型については、「データ型」を参照してください。
- Bicep 関数については、「Bicep 関数」を参照してください。
- Bicep Kubernetes 拡張機能の使用方法については、「Bicep Kubernetes 拡張機能」を参照してください。
- Kubernetes 拡張機能のチュートリアルについては、「クイックスタート - Bicep Kubernetes 拡張機能を使用して Azure アプリケーションを Azure Kubernetes サービスにデプロイする」を参照してください。