Bicep 中的匯入
本文描述您用來匯出和匯入共用功能的語法,以及 Bicep 擴充性提供者的命名空間。
匯出𩔬型、變數和函式 (預覽)
注意
需要 Bicep CLI 0.23.X 版或更高版本才能使用此功能。 實驗性功能 compileTimeImports
必須從 Bicep 設定檔啟用。 針對使用者定義函式,也必須啟用實驗性功能 userDefinedFunctions
。
@export()
裝飾項目用來指出給定陳述式可由另一個檔案匯入。 此裝飾項目僅適用於類型、變數和函式陳述式。 標記 @export()
的變數陳述式必須在編譯時期固定。
匯出功能以用於其他 Bicep 檔案的語法如下:
@export()
<statement_to_export>
匯入類型、變數和函式 (預覽)
注意
需要 Bicep CLI 0.23.X 版或更高版本才能使用此功能。 實驗性功能 compileTimeImports
必須從 Bicep 設定檔啟用。 針對使用者定義函式,也必須啟用實驗性功能 userDefinedFunctions
。
從另一個 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
匯入命名空間和擴充性提供者 (預覽)
注意
實驗性功能 extensibility
必須從 Bicep 設定檔啟用,才能使用此功能。
匯入命名空間的語法為:
import 'az@1.0.0'
import 'sys@1.0.0'
az
和 sys
都是 Bicep 內建的命名空間。 這些都會預設匯入。 如需 az
和 sys
中定義之資料類型和函式的詳細資訊,請參閱資料類型和 Bicep 函式。
匯入 Bicep 擴充性提供者的語法如下:
import '<provider-name>@<provider-version>'
匯入需要設定之 Bicep 擴充性提供者的語法如下:
import '<provider-name>@<provider-version>' with {
<provider-properties>
}
如需範例,請參閱 Bicep 擴充性 Kubernetes 提供者。
下一步
- 若要了解 Bicep 資料類型,請參閱資料類型。
- 若要了解 Bicep 函式,請參閱 Bicep 函式。
- 若要了解如何使用 Kubernetes 提供者,請參閱 Bicep 擴充性 Kubernetes 提供者。
- 若要完成 Kubernetes 提供者教學課程,請參閱快速入門:使用 Bicep Kubernetes 提供者將 Azure 應用程式部署至 Azure Kubernetes Services。