Aracılığıyla paylaş


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 , varve 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ı.