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 biterse
baseUri
, sonucun ardındanrelativeUri
yalnızcabaseUri
olur. Ayrıca baştaki eğik çizgiyle başlıyorsarelativeUri
, 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ındanrelativeUri
gelirbaseUri
.Eğik çizgi varsa
baseUri
, ancak eğik çizgiyle bitmezse, son eğik çizgiden sonra gelen her şey öğesindenbaseUri
kaldırılır ve sonucu takip ederbaseUri
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.