Bicep'te içeri aktarmalar
Bu makalede, Bicep uzantıları için paylaşılan işlevleri ve ad alanlarını dışarı ve içeri aktarmak için kullandığınız söz dizimi açıklanmaktadır. Derleme zamanı içeri aktarmalarının kullanılması, dil sürümü 2.0 kod oluşturmayı otomatik olarak etkinleştirir.
Değişkenleri, türleri ve işlevleri dışarı aktarma
Dekoratör @export()
, başka bir dosyanın belirli bir deyimi içeri aktarabileceğini belirtir. Bu dekoratör yalnızca , var
ve func
deyimlerinde geçerlidirtype
. ile @export()
işaretlenmiş değişken deyimleri derleme zamanı sabitleri olmalıdır.
Diğer Bicep dosyalarında kullanılmak üzere dışarı aktarma işlevinin söz dizimi şöyledir:
@export()
<statement_to_export>
Değişkenleri, türleri ve işlevleri içeri aktarma
İşlevleri başka bir Bicep dosyasından içeri aktarma söz dizimi şöyledir:
import {<symbol_name>, <symbol_name>, ...} from '<bicep_file_name>'
Simgeleri yeniden adlandırmak için isteğe bağlı diğer ad ile:
import {<symbol_name> as <alias_name>, ...} from '<bicep_file_name>'
Joker karakter içeri aktarma söz dizimini kullanarak:
import * as <alias_name> from '<bicep_file_name>'
Önceki söz dizimlerini karıştırabilir ve eşleştirebilirsiniz. Joker karakter söz dizimini kullanarak içeri aktarılan simgelere erişmek için şu işlecini .
kullanmanız gerekir: <alias_name>.<exported_symbol>
.
Yalnızca başvurulmakta olan dosyada dışarı aktarılan deyimler içeri aktarma için kullanılabilir.
Kısıtlama olmadan başka bir dosyadan içeri aktarılan işlevleri kullanabilirsiniz. Örneğin, dosya içinde bildirilen bir değişkenin normalde geçerli olacağı her yerde içeri aktarılan değişkenleri kullanabilirsiniz.
Örnek
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
Ad alanlarını ve uzantıları içeri aktarma (önizleme)
Not
Bu özelliğin kullanılabilmesi için deneysel özelliğin extensibility
Bicep yapılandırma dosyasından etkinleştirilmesi gerekir.
Ad alanlarını içeri aktarma söz dizimi şöyledir:
import 'az@1.0.0'
import 'sys@1.0.0'
Hem hem sys
de az
Bicep yerleşik ad alanlarıdır. Bunlar varsayılan olarak içeri aktarılır. ve içinde az
tanımlanan veri türleri ve işlevler hakkında daha fazla bilgi için bkz. Veri türleri ve Bicep işlevlerisys
.
Bicep uzantılarını içeri aktarma söz dizimi şöyledir:
import '<extension-name>@<extension-version>'
Yapılandırma gerektiren Bicep uzantılarını içeri aktarma söz dizimi şöyledir:
import '<extension-name>@<extension-version>' with {
<extension-properties>
}
Bir örnek için bkz . Bicep Kubernetes uzantısı.
İlgili içerik
- Bicep veri türleri hakkında bilgi edinmek için bkz . Veri türleri.
- Bicep işlevleri hakkında bilgi edinmek için bkz . Bicep işlevleri.
- Bicep Kubernetes uzantısını kullanmayı öğrenmek için bkz . Bicep Kubernetes uzantısı.
- Kubernetes uzantısı öğreticisi üzerinden geçmek için bkz . Hızlı Başlangıç: Bicep Kubernetes uzantısını kullanarak Azure uygulamalarını Azure Kubernetes Services'e dağıtma.