Aracılığıyla paylaş


Bicep için dize işlevleri

Bu makalede, dizelerle çalışmaya yönelik Bicep işlevleri açıklanmaktadır.

base64

base64(inputString)

Giriş dizesinin base64 gösterimini döndürür.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
inputString Yes Dize Base64 gösterimi olarak döndürülecek değer.

Dönüş değeri

base64 gösterimini içeren bir dize.

Örnekler

Aşağıdaki örnekte base64 işlevinin nasıl kullanılacağı gösterilmektedir.

param stringData string = 'one, two, three'
param jsonFormattedData string = '{\'one\': \'a\', \'two\': \'b\'}'

var base64String = base64(stringData)
var base64Object = base64(jsonFormattedData)

output base64Output string = base64String
output toStringOutput string = base64ToString(base64String)
output toJsonOutput object = base64ToJson(base64Object)

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
base64Output String b25lLCB0d28sIHRocmVl
toStringOutput String Bir iki üç
toJsonOutput Object {"one": "a", "two": "b"}

base64ToJson

base64ToJson(base64Value)

Base64 gösterimini JSON nesnesine dönüştürür.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
base64Value Yes Dize JSON nesnesine dönüştürülecek base64 gösterimi.

Dönüş değeri

JSON nesnesi.

Örnekler

Aşağıdaki örnekte base64ToJson işlevi, base64 değerini dönüştürmek için kullanılır:

param stringData string = 'one, two, three'
param jsonFormattedData string = '{\'one\': \'a\', \'two\': \'b\'}'

var base64String = base64(stringData)
var base64Object = base64(jsonFormattedData)

output base64Output string = base64String
output toStringOutput string = base64ToString(base64String)
output toJsonOutput object = base64ToJson(base64Object)

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
base64Output String b25lLCB0d28sIHRocmVl
toStringOutput String Bir iki üç
toJsonOutput Object {"one": "a", "two": "b"}

base64ToString

base64ToString(base64Value)

Base64 gösterimini dizeye dönüştürür.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
base64Value Yes Dize Bir dizeye dönüştürülecek base64 gösterimi.

Dönüş değeri

Dönüştürülen base64 değerinin dizesi.

Örnekler

Aşağıdaki örnekte base64ToString işlevi, base64 değerini dönüştürmek için kullanılır:

param stringData string = 'one, two, three'
param jsonFormattedData string = '{\'one\': \'a\', \'two\': \'b\'}'

var base64String = base64(stringData)
var base64Object = base64(jsonFormattedData)

output base64Output string = base64String
output toStringOutput string = base64ToString(base64String)
output toJsonOutput object = base64ToJson(base64Object)

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
base64Output String b25lLCB0d28sIHRocmVl
toStringOutput String Bir iki üç
toJsonOutput Object {"one": "a", "two": "b"}

concat

concat(arg1, arg2, arg3, ...)

Birden çok dize değerini birleştirir ve birleştirilmiş dizeyi döndürür ya da birden çok diziyi birleştirir ve birleştirilmiş diziyi döndürür. Okunabilirliği geliştirmek için işlevi yerine dize ilişkilendirmesini concat() kullanın. Ancak, çok satırlı dizelerde dize değiştirme gibi bazı durumlarda işlevini veya replace() işlevini kullanmaya concat() geri dönmeniz gerekebilir.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
arg1 Yes dize veya dizi Birleştirme için ilk dize veya dizi.
diğer bağımsız değişkenler Hayır dize veya dizi Birleştirme için sıralı sırada daha fazla dize veya dizi.

Bu işlev herhangi bir sayıda bağımsız değişken alabilir ve parametreler için dizeleri veya dizileri kabul edebilir. Ancak, parametreler için hem dizileri hem de dizeleri sağlayamazsınız. Dizeler yalnızca diğer dizelerle birleştirilir.

Dönüş değeri

Birleştirilmiş değer dizesi veya dizisi.

Örnekler

Aşağıdaki örnek, ilişkilendirmeyi kullanma ile işlevini kullanma arasındaki karşılaştırmayı concat() gösterir. İki çıkış aynı değeri döndürür.

param prefix string = 'prefix'

output concatOutput string = concat(prefix, 'And', uniqueString(resourceGroup().id))
output interpolationOutput string = '${prefix}And${uniqueString(resourceGroup().id)}'

Önceki örnekte varsayılan değere sahip çıkışlar şunlardır:

Adı Tür Değer
concatOutput String prefixAnd5yj4yjf5mbg72
interpolationOutput String prefixAnd5yj4yjf5mbg72

İlişkilendirme şu anda çok satırlı dizelerde desteklenmemektedir. Aşağıdaki örnek, ilişkilendirmeyi kullanma ile işlevini kullanma arasındaki karşılaştırmayı concat() gösterir.

var blocked = 'BLOCKED'

output concatOutput string = concat('''interpolation
is ''', blocked)
output interpolationOutput string = '''interpolation
is ${blocked}'''

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
concatOutput String interpolation\nis BLOCKED
interpolationOutput String interpolation\nis ${blocked}

içerir

contains(container, itemToFind)

Dizinin bir değer, nesnenin anahtar mı yoksa dizenin alt dize mi içerdiğini denetler. Dize karşılaştırması büyük/küçük harfe duyarlıdır. Ancak, bir nesnenin anahtar içerip içermediğini test ederken karşılaştırma büyük/küçük harfe duyarlı değildir.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
kapsayıcı Yes dizi, nesne veya dize Bulunabilecek değeri içeren değer.
itemToFind Yes dize veya int Bulunacak değer.

Dönüş değeri

True öğe bulunursa; aksi takdirde , False.

Örnekler

Aşağıdaki örnekte, farklı türlerde contains özelliğinin nasıl kullanılacağı gösterilmektedir:

param stringToTest string = 'OneTwoThree'
param objectToTest object = {
  one: 'a'
  two: 'b'
  three: 'c'
}
param arrayToTest array = [
  'one'
  'two'
  'three'
]

output stringTrue bool = contains(stringToTest, 'e')
output stringFalse bool = contains(stringToTest, 'z')
output objectTrue bool = contains(objectToTest, 'one')
output objectFalse bool = contains(objectToTest, 'a')
output arrayTrue bool = contains(arrayToTest, 'three')
output arrayFalse bool = contains(arrayToTest, 'four')

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
stringTrue Boole True
stringFalse Boole False
objectTrue Boole True
objectFalse Boole False
arrayTrue Boole True
arrayFalse Boole False

dataUri

dataUri(stringToConvert)

Bir değeri veri URI'sine dönüştürür.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
stringToConvert Yes Dize Veri URI'sine dönüştürülecek değer.

Dönüş değeri

Veri URI'si olarak biçimlendirilmiş bir dize.

Örnekler

Aşağıdaki örnek bir değeri veri URI'sine dönüştürür ve veri URI'sini dizeye dönüştürür:

param stringToTest string = 'Hello'
param dataFormattedString string = 'data:;base64,SGVsbG8sIFdvcmxkIQ=='

output dataUriOutput string = dataUri(stringToTest)
output toStringOutput string = dataUriToString(dataFormattedString)

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
dataUriOutput String data:text/plain; charset=utf8; base64,SGVsbG8=
toStringOutput String 3 dilde

dataUriToString

dataUriToString(dataUriToConvert)

Veri URI'sinde biçimlendirilmiş bir değeri dizeye dönüştürür.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
dataUriToConvert Yes Dize Dönüştürülecek veri URI değeri.

Dönüş değeri

Dönüştürülen değeri içeren bir dize.

Örnekler

Aşağıdaki örnek bir değeri veri URI'sine dönüştürür ve veri URI'sini dizeye dönüştürür:

param stringToTest string = 'Hello'
param dataFormattedString string = 'data:;base64,SGVsbG8sIFdvcmxkIQ=='

output dataUriOutput string = dataUri(stringToTest)
output toStringOutput string = dataUriToString(dataFormattedString)

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
dataUriOutput String data:text/plain; charset=utf8; base64,SGVsbG8=
toStringOutput String 3 dilde

empty

empty(itemToTest)

Dizi, nesne veya dizenin boş mu yoksa null mı olduğunu belirler.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
itemToTest Yes dizi, nesne veya dize Boş veya null olup olmadığını denetlemek için gereken değer.

Dönüş değeri

Değer boş veya null ise True, değilse False döndürür.

Örnekler

Aşağıdaki örnek bir dizi, nesne ve dizenin boş olup olmadığını denetler.

param testArray array = []
param testObject object = {}
param testString string = ''
param testNullString string?

output arrayEmpty bool = empty(testArray)
output objectEmpty bool = empty(testObject)
output stringEmpty bool = empty(testString)
output stringNull bool = empty(testNullString)

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
arrayEmpty Boole True
objectEmpty Boole True
stringEmpty Boole True
stringNull Boole True

endsWith

endsWith(stringToSearch, stringToFind)

Dizenin bir değerle bitip bitmeyeceğini belirler. Karşılaştırma büyük/küçük harfe duyarlı değildir.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
stringToSearch Yes Dize Bulunabilecek öğeyi içeren değer.
stringToFind Yes Dize Bulunacak değer.

Dönüş değeri

True dizenin son karakteri veya karakterleri değerle eşleşiyorsa; aksi takdirde , False.

Örnekler

Aşağıdaki örnekte startsWith ve endsWith işlevlerinin nasıl kullanılacağı gösterilmektedir:

output startsTrue bool = startsWith('abcdef', 'ab')
output startsCapTrue bool = startsWith('abcdef', 'A')
output startsFalse bool = startsWith('abcdef', 'e')
output endsTrue bool = endsWith('abcdef', 'ef')
output endsCapTrue bool = endsWith('abcdef', 'F')
output endsFalse bool = endsWith('abcdef', 'e')

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
startsTrue Boole True
startsCapTrue Boole True
startsFalse Boole False
endsTrue Boole True
endsCapTrue Boole True
endsFalse Boole False

Birinci

first(arg1)

Dizenin ilk karakterini veya dizinin ilk öğesini döndürür. Boş bir dize verilirse, işlev boş bir dizeyle sonuçlanır. Boş bir dizi söz konusu olduğunda işlevi döndürür null.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
arg1 Yes dizi veya dize İlk öğeyi veya karakteri almak için değer.

Dönüş değeri

Bir dizideki ilk öğenin ilk karakterinin dizesi veya türü (dize, int, dizi veya nesne).

Örnekler

Aşağıdaki örnekte, bir dizi ve dize ile ilk işlevin nasıl kullanılacağı gösterilmektedir.

param arrayToTest array = [
  'one'
  'two'
  'three'
]

output arrayOutput string = first(arrayToTest)
output stringOutput string = first('One Two Three')

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
arrayOutput String bir
stringOutput String O

format

format(formatString, arg1, arg2, ...)

Giriş değerlerinden biçimlendirilmiş bir dize oluşturur.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
formatString Yes Dize Bileşik biçim dizesi.
arg1 Yes dize, tamsayı veya boole Biçimlendirilmiş dizeye eklenecek değer.
ek bağımsız değişkenler Hayır dize, tamsayı veya boole Biçimlendirilmiş dizeye eklenecek ek değerler.

Açıklamalar

Bicep dosyanızdaki bir dizeyi biçimlendirmek için bu işlevi kullanın. .NET'teki System.String.Format yöntemiyle aynı biçimlendirme seçeneklerini kullanır.

Örnekler

Aşağıdaki örnekte format işlevinin nasıl kullanılacağı gösterilmektedir.

param greeting string = 'Hello'
param name string = 'User'
param numberToFormat int = 8175133
param objectToFormat object = { prop: 'value' }

output formatTest string = format('{0}, {1}. Formatted number: {2:N0}', greeting, name, numberToFormat)
output formatObject string = format('objectToFormat: {0}', objectToFormat)

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
formatTest String Hello, User. Formatted number: 8,175,133
formatObject String objectToFormat: {'prop':'value'}

guid

guid(baseString, ...)

Parametre olarak sağlanan değerleri temel alarak genel olarak benzersiz bir tanımlayıcı biçiminde bir değer oluşturur.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
baseString Yes Dize GUID'yi oluşturmak için karma işlevinde kullanılan değer.
gerektiğinde ek parametreler Hayır Dize Benzersizlik düzeyini belirten değeri oluşturmak için gereken sayıda dize ekleyebilirsiniz.

Açıklamalar

Bu işlev, genel olarak benzersiz bir tanımlayıcı biçiminde bir değer oluşturmanız gerektiğinde yararlıdır. Sonuç için benzersizlik kapsamını sınırlayan parametre değerleri sağlarsınız. Adın abonelik, kaynak grubu veya dağıtım için benzersiz olup olmadığını belirtebilirsiniz.

Döndürülen değer rastgele bir dize değil, parametrelerdeki bir karma işlevinin sonucu. Döndürülen değer 36 karakter uzunluğundadır. Genel olarak benzersiz değildir. Parametrelerin bu karma değerine dayalı olmayan yeni bir GUID oluşturmak için newGuid işlevini kullanın.

Not

Parametrelerin sırası döndürülen değeri etkiler. Örneğin:

guid('hello', 'world') ve guid('world', 'hello')

aynı değeri döndürmeyin.

Aşağıdaki örneklerde yaygın olarak kullanılan düzeyler için benzersiz bir değer oluşturmak üzere guid'nin nasıl kullanılacağı gösterilmektedir.

Kapsamı abonelik olarak belirlenmiş benzersiz

guid(subscription().subscriptionId)

Benzersiz kapsamı kaynak grubu olarak belirlenmiş

guid(resourceGroup().id)

Kaynak grubu için dağıtım kapsamı belirlenmiş benzersiz

guid(resourceGroup().id, deployment().name)

İşlev, guid RFC 4122 §4.3'ten algoritmayı uygular. Özgün kaynak GuidUtility'de bazı değişikliklerle bulunabilir.

Dönüş değeri

Genel olarak benzersiz bir tanımlayıcı biçiminde 36 karakter içeren bir dize.

Örnekler

Aşağıdaki örnek guid'den sonuçlar döndürür:

output guidPerSubscription string = guid(subscription().subscriptionId)
output guidPerResourceGroup string = guid(resourceGroup().id)
output guidPerDeployment string = guid(resourceGroup().id, deployment().name)

indexOf

indexOf(stringToSearch, stringToFind)

Dize içindeki bir değerin ilk konumunu döndürür. Karşılaştırma büyük/küçük harfe duyarlı değildir.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
stringToSearch Yes Dize Bulunabilecek öğeyi içeren değer.
stringToFind Yes Dize Bulunacak değer.

Dönüş değeri

Bulunacak öğenin konumunu temsil eden bir tamsayı. Değer sıfır tabanlıdır. Öğe bulunamazsa-1 döndürülür.

Örnekler

Aşağıdaki örnekte indexOf ve lastIndexOf işlevlerinin nasıl kullanılacağı gösterilmektedir:

output firstT int = indexOf('test', 't')
output lastT int = lastIndexOf('test', 't')
output firstString int = indexOf('abcdef', 'CD')
output lastString int = lastIndexOf('abcdef', 'AB')
output notFound int = indexOf('abcdef', 'z')

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
firstT Int 0
lastT Int 3
firstString Int 2
lastString Int 0
notFound Int -1

join

join(inputArray, delimiter)

Bir dize dizisini bir sınırlayıcı kullanarak ayırarak tek bir dizeye ekler.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
inputArray Yes Dize dizisi. Birleştirecek dize dizisi.
sınırlayıcı Yes Dizeyi bölmek için kullanılacak sınırlayıcı.

Dönüş değeri

Bir dize.

Örnekler

Aşağıdaki örnek, giriş dizesi dizisini virgül veya noktalı virgülle ayrılmış dizeler halinde birleştirir.

var arrayString = [
  'one'
  'two'
  'three'
]

output firstOutput string = join(arrayString, ',')
output secondOutput string = join(arrayString, ';')

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
firstOutput String "bir,iki,üç"
secondOutput String "bir; İki; üç"

Bu işlev Için Bicep CLI 0.8.X veya üzeri bir sürüm gerekir.

json

json(arg1)

Geçerli bir JSON dizesini JSON veri türüne dönüştürür. Daha fazla bilgi için bkz . json işlevi.

Ad alanı: sys.

Sonuncu

last(arg1)

Dizenin son karakterini veya dizinin son öğesini döndürür.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
arg1 Yes dizi veya dize Son öğeyi veya karakteri almak için değer.

Dönüş değeri

Son karakterin dizesi veya dizideki son öğenin türü (dize, int, dizi veya nesne).

Örnekler

Aşağıdaki örnekte, bir dizi ve dize ile son işlevin nasıl kullanılacağı gösterilmektedir.

param arrayToTest array = [
  'one'
  'two'
  'three'
]

output arrayOutput string = last(arrayToTest)
output stringOutput string = last('One Two Three')

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
arrayOutput String üç
stringOutput String e

lastIndexOf

lastIndexOf(stringToSearch, stringToFind)

Bir dize içindeki değerin son konumunu döndürür. Karşılaştırma büyük/küçük harfe duyarlı değildir.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
stringToSearch Yes Dize Bulunabilecek öğeyi içeren değer.
stringToFind Yes Dize Bulunacak değer.

Dönüş değeri

Bulunabilecek öğenin son konumunu temsil eden bir tamsayı. Değer sıfır tabanlıdır. Öğe bulunamazsa-1 döndürülür.

Örnekler

Aşağıdaki örnekte ve lastIndexOf işlevlerinin indexOf nasıl kullanılacağı gösterilmektedir:

output firstT int = indexOf('test', 't')
output lastT int = lastIndexOf('test', 't')
output firstString int = indexOf('abcdef', 'CD')
output lastString int = lastIndexOf('abcdef', 'AB')
output notFound int = indexOf('abcdef', 'z')

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
firstT Int 0
lastT Int 3
firstString Int 2
lastString Int 0
notFound Int -1

uzunluk

length(string)

Dizedeki karakter sayısını, dizideki öğeleri veya nesnedeki kök düzeyi özellikleri döndürür.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
arg1 Yes dizi, dize veya nesne Öğe sayısını almak için kullanılacak dizi, karakter sayısını almak için kullanılacak dize veya kök düzeyi özelliklerin sayısını almak için kullanılacak nesne.

Dönüş değeri

Bir int.

Örnekler

Aşağıdaki örnekte, bir dizi ve dize ile uzunluğun nasıl kullanılacağı gösterilmektedir:

param arrayToTest array = [
  'one'
  'two'
  'three'
]
param stringToTest string = 'One Two Three'
param objectToTest object = {
  propA: 'one'
  propB: 'two'
  propC: 'three'
  propD: {
    'propD-1': 'sub'
    'propD-2': 'sub'
  }
}

output arrayLength int = length(arrayToTest)
output stringLength int = length(stringToTest)
output objectLength int = length(objectToTest)

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
arrayLength Int 3
stringLength Int 13
objectLength Int 4

newGuid

newGuid()

Genel olarak benzersiz tanımlayıcı biçiminde bir değer döndürür. Bu işlev yalnızca bir parametre için varsayılan değerde kullanılabilir.

Ad alanı: sys.

Açıklamalar

Bu işlevi yalnızca bir parametrenin varsayılan değeri için bir ifade içinde kullanabilirsiniz. Bu işlevi bicep dosyasında başka bir yerde kullanmak bir hata döndürür. Bicep dosyasının diğer bölümlerinde işleve izin verilmez çünkü her çağrıldığında farklı bir değer döndürür. Aynı Bicep dosyasının aynı parametrelerle dağıtılması aynı sonuçları güvenilir bir şekilde üretmez.

newGuid işlevi, parametre almadığından guid işlevinden farklıdır. Guid'yi aynı parametrelerle çağırdığınızda, her seferinde aynı tanımlayıcıyı döndürür. Belirli bir ortam için güvenilir bir şekilde aynı GUID'yi oluşturmanız gerektiğinde GUID kullanın. Kaynakları bir test ortamına dağıtma gibi her seferinde farklı bir tanımlayıcıya ihtiyacınız olduğunda newGuid kullanın.

newGuid işlevi, genel olarak benzersiz tanımlayıcıyı oluşturmak için .NET Framework'teki Guid yapısını kullanır.

Daha önceki başarılı bir dağıtımı yeniden dağıtmak için seçeneğini kullanırsanız ve önceki dağıtım newGuid kullanan bir parametre içeriyorsa, parametre yeniden değerlendirilmez. Bunun yerine, önceki dağıtımdaki parametre değeri geri alma dağıtımında otomatik olarak yeniden kullanılır.

Bir test ortamında, yalnızca kısa bir süre boyunca yaşayan kaynakları tekrar tekrar dağıtmanız gerekebilir. Benzersiz adlar oluşturmak yerine benzersiz adlar oluşturmak için newGuid with uniqueString kullanabilirsiniz.

Varsayılan değer için newGuid işlevine dayalı bir Bicep dosyasını yeniden dağıtmaya dikkat edin. Yeniden dağıttığınızda ve parametresi için bir değer sağlamadığınızda işlev yeniden değerlendirilir. Yeni bir kaynak oluşturmak yerine var olan bir kaynağı güncelleştirmek istiyorsanız, önceki dağıtımdan parametre değerini geçirin.

Dönüş değeri

Genel olarak benzersiz bir tanımlayıcı biçiminde 36 karakter içeren bir dize.

Örnekler

Aşağıdaki örnekte yeni tanımlayıcıya sahip bir parametre gösterilmektedir.

param guidValue string = newGuid()

output guidOutput string = guidValue

Yukarıdaki örnekten alınan çıkış her dağıtım için farklılık gösterir ancak şuna benzer olacaktır:

Adı Tür Değer
guidOutput Dize b76a51fc-bd72-4a77-b9a2-3c29e7d2e551

Aşağıdaki örnek, bir depolama hesabı için benzersiz bir ad oluşturmak için newGuid işlevini kullanır. Bu Bicep dosyası, depolama hesabının kısa bir süre var olduğu ve yeniden dağıtılmadığı test ortamı için çalışabilir.

param guidValue string = newGuid()

var storageName = 'storage${uniqueString(guidValue)}'

resource myStorage 'Microsoft.Storage/storageAccounts@2023-04-01' = {
  name: storageName
  location: 'West US'
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
  properties: {}
}

output nameOutput string = storageName

Yukarıdaki örnekten alınan çıkış her dağıtım için farklılık gösterir ancak şuna benzer olacaktır:

Adı Tür Değer
nameOutput Dize storagenziwvyru7uxie

padLeft

padLeft(valueToPad, totalLength, paddingCharacter)

Belirtilen toplam uzunluğa ulaşana kadar sola karakter ekleyerek sağa hizalanmış bir dize döndürür.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
valueToPad Yes dize veya int Sağa hizalanır değer.
totalLength Yes int Döndürülen dizedeki toplam karakter sayısı.
paddingCharacter Hayır tek karakter Toplam uzunluğa ulaşılana kadar sol doldurma için kullanılacak karakter. Varsayılan değer bir boşluk.

Özgün dize, doldurulacak karakter sayısından uzunsa, hiçbir karakter eklenmez.

Dönüş değeri

En az belirtilen karakter sayısına sahip bir dize.

Örnekler

Aşağıdaki örnekte, toplam karakter sayısına ulaşana kadar sıfır karakteri ekleyerek kullanıcı tarafından sağlanan parametre değerinin nasıl dolduruldığı gösterilmektedir.

param testString string = '123'

output stringOutput string = padLeft(testString, 10, '0')

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
stringOutput String 0000000123

replace

replace(originalString, oldString, newString)

Bir dizenin tüm örneklerinin yerine başka bir dizenin geçtiği yeni bir dize döndürür.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
originalString Yes Dize Bir dizenin tüm örneklerinin yerine başka bir dizenin geçtiği değer.
oldString Yes Dize Özgün dizeden kaldırılacak dize.
newString Yes Dize Kaldırılan dize yerine eklenecek dize.

Dönüş değeri

Değiştirilen karakterleri içeren bir dize.

Örnekler

Aşağıdaki örnekte, kullanıcı tarafından sağlanan dizeden tüm tirelerin nasıl kaldırılacağı ve dizenin bir kısmının başka bir dizeyle nasıl değiştirılacağı gösterilmektedir.

param testString string = '123-123-1234'

output firstOutput string = replace(testString, '-', '')
output secondOutput string = replace(testString, '1234', 'xxxx')

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
firstOutput String 1231231234
secondOutput String 123-123-xxxx

skip

skip(originalValue, numberToSkip)

Belirtilen sayıda karakterden sonraki tüm karakterleri içeren bir dize veya belirtilen sayıda öğeden sonra tüm öğeleri içeren bir dizi döndürür.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
originalValue Yes dizi veya dize Atlanırken kullanılacak dizi veya dize.
numberToSkip Yes int Atlana öğe veya karakter sayısı. Bu değer 0 veya daha küçükse, değerdeki tüm öğeler veya karakterler döndürülür. Dizi veya dizenin uzunluğundan büyükse boş bir dizi veya dize döndürülür.

Dönüş değeri

Bir dizi veya dize.

Örnekler

Aşağıdaki örnek, dizideki belirtilen öğe sayısını ve bir dizedeki belirtilen karakter sayısını atlar.

param testArray array = [
  'one'
  'two'
  'three'
]
param elementsToSkip int = 2
param testString string = 'one two three'
param charactersToSkip int = 4

output arrayOutput array = skip(testArray, elementsToSkip)
output stringOutput string = skip(testString, charactersToSkip)

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
arrayOutput Dizi ["üç"]
stringOutput String iki üç

split

split(inputString, delimiter)

Belirtilen sınırlayıcılar tarafından sınırlandırılan giriş dizesinin alt dizelerini içeren bir dize dizisi döndürür.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
inputString Yes Dize Bölünecek dize.
sınırlayıcı Yes dize veya dize dizisi Dizeyi bölmek için kullanılacak sınırlayıcı.

Dönüş değeri

Dize dizisi.

Örnekler

Aşağıdaki örnek, giriş dizesini virgülle ve virgülle veya noktalı virgülle böler.

param firstString string = 'one,two,three'
param secondString string = 'one;two,three'

var delimiters = [
  ','
  ';'
]

output firstOutput array = split(firstString, ',')
output secondOutput array = split(secondString, delimiters)

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
firstOutput Dizi ["bir", "iki", "üç"]
secondOutput Dizi ["bir", "iki", "üç"]

startsWith

startsWith(stringToSearch, stringToFind)

Dizenin bir değerle başlayıp başlamadığını belirler. Karşılaştırma büyük/küçük harfe duyarlı değildir.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
stringToSearch Yes Dize Bulunabilecek öğeyi içeren değer.
stringToFind Yes Dize Bulunacak değer.

Dönüş değeri

True dizenin ilk karakteri veya karakterleri değerle eşleşiyorsa; aksi takdirde , False.

Örnekler

Aşağıdaki örnekte startsWith ve endsWith işlevlerinin nasıl kullanılacağı gösterilmektedir:

output startsTrue bool = startsWith('abcdef', 'ab')
output startsCapTrue bool = startsWith('abcdef', 'A')
output startsFalse bool = startsWith('abcdef', 'e')
output endsTrue bool = endsWith('abcdef', 'ef')
output endsCapTrue bool = endsWith('abcdef', 'F')
output endsFalse bool = endsWith('abcdef', 'e')

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
startsTrue Boole True
startsCapTrue Boole True
startsFalse Boole False
endsTrue Boole True
endsCapTrue Boole True
endsFalse Boole False

Dize

string(valueToConvert)

Belirtilen değeri bir dizeye dönüştürür. Dizeler olduğu gibi döndürülür. Diğer türler eşdeğer JSON gösterimine dönüştürülür. Bir dizeyi JSON'a dönüştürmeniz gerekiyorsa (tırnak işareti/kaçış) kullanabilirsiniz substring(string([value]), 1, length(string([value]) - 2).

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
valueToConvert Yes Tümü Dizeye dönüştürülecek değer. Nesneler ve diziler de dahil olmak üzere herhangi bir değer türü dönüştürülebilir.

Dönüş değeri

Dönüştürülen değerin dizesi.

Örnekler

Aşağıdaki örnekte, farklı değer türlerinin dizelere nasıl dönüştürüldüğü gösterilmektedir:

param testObject object = {
  valueA: 10
  valueB: 'Example Text'
}
param testArray array = [
  '\'a\''
  '"b"'
  '\\c\\'
]
param testInt int = 5
param testString string = 'foo " \' \\'

output objectOutput string = string(testObject)
output arrayOutput string = string(testArray)
output intOutput string = string(testInt)
output stringOutput string = string(testString)
output stringEscapedOutput string = substring(string([testString]), 1, length(string([testString])) - 2)

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
objectOutput String {"valueA":10,"valueB":"Example Text"}
arrayOutput String ["'a'","\"b\"","\\c\\"]
intOutput String 5
stringOutput String foo " ' \
stringEscapedOutput String "foo \" ' \\"

Dize

substring(stringToParse, startIndex, length)

Belirtilen karakter konumunda başlayan ve belirtilen karakter sayısını içeren bir alt dize döndürür.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
stringToParse Yes Dize Alt dizenin ayıklandığı özgün dize.
startIndex Hayır int Alt dize için sıfır tabanlı başlangıç karakteri konumu.
uzunluk Hayır int Alt dize için karakter sayısı. Dize içindeki bir konuma başvurması gerekir. Sıfır veya daha büyük olmalıdır. Atlanırsa, dizenin başlangıç konumundan kalan kısmı döndürülür.

Dönüş değeri

Alt dize. Ya da uzunluk sıfırsa boş bir dize.

Açıklamalar

Alt dize dizenin sonuna kadar uzandığında veya uzunluk sıfırdan küçük olduğunda işlev başarısız olur. Aşağıdaki örnek şu hatayla başarısız oluyor: "Dizin ve uzunluk parametreleri dize içindeki bir konuma başvurmalıdır. Dizin parametresi: '0', uzunluk parametresi: '11', dize parametresinin uzunluğu: '10'.".

param inputString string = '1234567890'

var prefix = substring(inputString, 0, 11)

Örnekler

Aşağıdaki örnek bir parametreden bir alt dize ayıklar.

param testString string = 'one two three'
output substringOutput string = substring(testString, 4, 3)

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
substringOutput String iki

take

take(originalValue, numberToTake)

Dizenin başından itibaren belirtilen sayıda karakter içeren bir dize veya dizinin başından itibaren belirtilen sayıda öğe içeren bir dizi döndürür.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
originalValue Yes dizi veya dize Öğeleri almak için dizi veya dize.
numberToTake Yes int Alınacak öğe veya karakter sayısı. Bu değer 0 veya daha küçükse boş bir dizi veya dize döndürülür. Verilen dizi veya dizenin uzunluğundan büyükse, dizideki veya dizedeki tüm öğeler döndürülür.

Dönüş değeri

Bir dizi veya dize.

Örnekler

Aşağıdaki örnek, diziden belirtilen sayıda öğeyi ve bir dizedeki karakterleri alır.

param testArray array = [
  'one'
  'two'
  'three'
]
param elementsToTake int = 2
param testString string = 'one two three'
param charactersToTake int = 2

output arrayOutput array = take(testArray, elementsToTake)
output stringOutput string = take(testString, charactersToTake)

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
arrayOutput Dizi ["bir", "iki"]
stringOutput String on

toLower

toLower(stringToChange)

Belirtilen dizeyi küçük harfe dönüştürür.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
stringToChange Yes Dize Küçük harfe dönüştürülecek değer.

Dönüş değeri

Dize küçük harfe dönüştürüldü.

Örnekler

Aşağıdaki örnek, parametre değerini küçük harfe ve büyük harfe dönüştürür.

param testString string = 'One Two Three'

output toLowerOutput string = toLower(testString)
output toUpperOutput string = toUpper(testString)

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
toLowerOutput String Bir iki üç
toUpperOutput String BİR İKİ ÜÇ

toUpper

toUpper(stringToChange)

Belirtilen dizeyi büyük harfe dönüştürür.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
stringToChange Yes Dize Büyük harfe dönüştürülecek değer.

Dönüş değeri

Dize büyük harfe dönüştürüldü.

Örnekler

Aşağıdaki örnek, parametre değerini küçük harfe ve büyük harfe dönüştürür.

param testString string = 'One Two Three'

output toLowerOutput string = toLower(testString)
output toUpperOutput string = toUpper(testString)

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
toLowerOutput String Bir iki üç
toUpperOutput String BİR İKİ ÜÇ

süslemek

trim(stringToTrim)

Belirtilen dizeden baştaki ve sondaki tüm boşluk karakterlerini kaldırır.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
stringToTrim Yes Dize Kırpacak değer.

Dönüş değeri

Başında ve sonunda boşluk karakteri olmayan dize.

Örnekler

Aşağıdaki örnek, parametresindeki boşluk karakterlerini kırpıyor.

param testString string = '    one two three   '

output return string = trim(testString)

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
return String Bir iki üç

uniqueString

uniqueString(baseString, ...)

Parametre olarak sağlanan değerlere göre belirlenici bir karma dize oluşturur.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
baseString Yes Dize Karma işlevinde benzersiz bir dize oluşturmak için kullanılan değer.
gerektiğinde ek parametreler Hayır Dize Benzersizlik düzeyini belirten değeri oluşturmak için gereken sayıda dize ekleyebilirsiniz.

Açıklamalar

Bu işlev, bir kaynak için benzersiz bir ad oluşturmanız gerektiğinde yararlıdır. Sonuç için benzersizlik kapsamını sınırlayan parametre değerleri sağlarsınız. Adın abonelik, kaynak grubu veya dağıtım için benzersiz olup olmadığını belirtebilirsiniz.

Döndürülen değer rastgele bir dize değil, karma işlevinin sonucu olur. Döndürülen değer 13 karakter uzunluğundadır. Genel olarak benzersiz değildir. Anlamlı bir ad oluşturmak için değeri adlandırma kuralınızdan bir ön ek ile birleştirmek isteyebilirsiniz. Aşağıdaki örnek, döndürülen değerin biçimini gösterir. Gerçek değer, sağlanan parametrelere göre değişir.

tcvhiyu5h2o5o

Aşağıdaki örneklerde, yaygın olarak kullanılan düzeyler için benzersiz bir değer oluşturmak üzere uniqueString'in nasıl kullanılacağı gösterilmektedir.

Kapsamı abonelik olarak belirlenmiş benzersiz

uniqueString(subscription().subscriptionId)

Benzersiz kapsamı kaynak grubu olarak belirlenmiş

uniqueString(resourceGroup().id)

Kaynak grubu için dağıtım kapsamı belirlenmiş benzersiz

uniqueString(resourceGroup().id, deployment().name)

Aşağıdaki örnekte, kaynak grubunuz temelinde depolama hesabı için benzersiz bir ad oluşturma gösterilmektedir. Kaynak grubunun içinde ad, aynı şekilde gerçekleştirilirse benzersiz değildir.

resource mystorage 'Microsoft.Storage/storageAccounts@2023-04-01' = {
  name: 'storage${uniqueString(resourceGroup().id)}'
  ...
}

Bicep dosyasını her dağıttığınızda yeni bir benzersiz ad oluşturmanız gerekiyorsa ve kaynağı güncelleştirmeyi düşünmüyorsanız, uniqueString ile utcNow işlevini kullanabilirsiniz. Bu yaklaşımı bir test ortamında kullanabilirsiniz. Bir örnek için bkz . utcNow. utcNow işlevinin yalnızca bir parametrenin varsayılan değeri için bir ifade içinde kullanılabileceğini unutmayın.

Dönüş değeri

13 karakter içeren bir dize.

Örnekler

Aşağıdaki örnek uniquestring'den sonuçlar döndürür:

output uniqueRG string = uniqueString(resourceGroup().id)
output uniqueDeploy string = uniqueString(resourceGroup().id, deployment().name)

uri

uri(baseUri, relativeUri)

baseUri ve relativeUri dizesini birleştirerek mutlak bir URI oluşturur.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
baseUri Yes Dize Temel uri dizesi. Bu tabloda açıklandığı gibi sondaki eğik çizginin ('/') işlenmesiyle ilgili davranışı gözlemleyin.
relativeUri Yes Dize Temel uri dizesine eklenecek göreli uri dizesi.
  • Sondaki eğik çizgiyle bitersebaseUri, sonucun ardından relativeUriyalnızca baseUri olur. Ayrıca baştaki eğik çizgiyle başlıyorsa relativeUri , sondaki eğik çizgi ve baştaki eğik çizgi tek bir eğik çizgide birleştirilir.

  • Sondaki baseUri eğik çizgiyle bitmezse iki şeyden biri olur.

    • Eğik baseUri çizgi yoksa (ön tarafta "//" dışında) sonucun ardından relativeUrigelirbaseUri.

    • Eğik çizgi varsa baseUri , ancak eğik çizgiyle bitmezse, son eğik çizgiden sonra gelen her şey öğesinden baseUri kaldırılır ve sonucu takip eder baseUri relativeUri.

Burada bazı örnekler verilmiştir:

uri('http://contoso.org/firstpath', 'myscript.sh') -> http://contoso.org/myscript.sh
uri('http://contoso.org/firstpath/', 'myscript.sh') -> http://contoso.org/firstpath/myscript.sh
uri('http://contoso.org/firstpath/', '/myscript.sh') -> http://contoso.org/firstpath/myscript.sh
uri('http://contoso.org/firstpath/azuredeploy.json', 'myscript.sh') -> http://contoso.org/firstpath/myscript.sh
uri('http://contoso.org/firstpath/azuredeploy.json/', 'myscript.sh') -> http://contoso.org/firstpath/azuredeploy.json/myscript.sh

Tüm ayrıntılar baseUri için ve relativeUri parametreleri RFC 3986, bölüm 5'te belirtildiği gibi çözümlenir.

Dönüş değeri

Temel ve göreli değerler için mutlak URI'yi temsil eden bir dize.

Örnekler

Aşağıdaki örnekte uri, uriComponent ve uriComponentToString'in nasıl kullanılacağı gösterilmektedir:

var uriFormat = uri('http://contoso.com/resources/', 'nested/azuredeploy.json')
var uriEncoded = uriComponent(uriFormat)

output uriOutput string = uriFormat
output componentOutput string = uriEncoded
output toStringOutput string = uriComponentToString(uriEncoded)

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
uriOutput String http://contoso.com/resources/nested/azuredeploy.json
componentOutput String http%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.json
toStringOutput String http://contoso.com/resources/nested/azuredeploy.json

uriComponent

uricomponent(stringToEncode)

URI'leri kodlar.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
stringToEncode Yes Dize Kodlanacak değer.

Dönüş değeri

URI kodlanmış değerinin dizesi.

Örnekler

Aşağıdaki örnekte uri, uriComponent ve uriComponentToString'in nasıl kullanılacağı gösterilmektedir:

var uriFormat = uri('http://contoso.com/resources/', 'nested/azuredeploy.json')
var uriEncoded = uriComponent(uriFormat)

output uriOutput string = uriFormat
output componentOutput string = uriEncoded
output toStringOutput string = uriComponentToString(uriEncoded)

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
uriOutput String http://contoso.com/resources/nested/azuredeploy.json
componentOutput String http%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.json
toStringOutput String http://contoso.com/resources/nested/azuredeploy.json

uriComponentToString

uriComponentToString(uriEncodedString)

URI kodlanmış değerinin dizesini döndürür.

Ad alanı: sys.

Parametreler

Parametre Zorunlu Türü Açıklama
uriEncodedString Yes Dize Dizeye dönüştürmek için kodlanmış URI değeri.

Dönüş değeri

Kodlanmamış bir URI kodlanmış değeri dizesi.

Örnekler

Aşağıdaki örnekte uri, uriComponent ve uriComponentToString'in nasıl kullanılacağı gösterilmektedir:

var uriFormat = uri('http://contoso.com/resources/', 'nested/azuredeploy.json')
var uriEncoded = uriComponent(uriFormat)

output uriOutput string = uriFormat
output componentOutput string = uriEncoded
output toStringOutput string = uriComponentToString(uriEncoded)

Yukarıdaki örnekten varsayılan değerleri içeren çıkış:

Adı Tür Değer
uriOutput String http://contoso.com/resources/nested/azuredeploy.json
componentOutput String http%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.json
toStringOutput String http://contoso.com/resources/nested/azuredeploy.json

Sonraki adımlar

  • Bicep dosyasındaki bölümlerin açıklaması için bkz . Bicep dosyalarının yapısını ve söz dizimini anlama.
  • Kaynak türü oluştururken belirtilen sayıda yineleme yapmak için bkz . Bicep'te yinelemeli döngüler.
  • Oluşturduğunuz Bicep dosyasının nasıl dağıtılacağına bakmak için bkz . Bicep ve Azure PowerShell ile kaynak dağıtma.