ARM şablonları için dize işlevleri

Resource Manager, Azure Resource Manager şablonunuzdaki (ARM şablonu) dizelerle çalışmak için aşağıdaki işlevleri sağlar:

İpucu

ARM şablonlarıyla aynı özellikleri sunduğundan ve söz diziminin kullanımı daha kolay olduğundan Bicep'i öneririz. Daha fazla bilgi için bkz . dize işlevleri.

base64

base64(inputString)

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

Bicep'te base64 işlevini kullanın.

Parametreler

Parametre Zorunlu Türü Açıklama
ınputstring 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 işlevin nasıl kullanılacağı gösterilmektedir base64 .

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stringData": {
      "type": "string",
      "defaultValue": "one, two, three"
    },
    "jsonFormattedData": {
      "type": "string",
      "defaultValue": "{'one': 'a', 'two': 'b'}"
    }
  },
  "variables": {
    "base64String": "[base64(parameters('stringData'))]",
    "base64Object": "[base64(parameters('jsonFormattedData'))]"
  },
  "resources": [
  ],
  "outputs": {
    "base64Output": {
      "type": "string",
      "value": "[variables('base64String')]"
    },
    "toStringOutput": {
      "type": "string",
      "value": "[base64ToString(variables('base64String'))]"
    },
    "toJsonOutput": {
      "type": "object",
      "value": "[base64ToJson(variables('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.

Bicep'te base64ToJson işlevini kullanın.

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 örnek, base64 değerini dönüştürmek için işlevini kullanır base64ToJson :

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stringData": {
      "type": "string",
      "defaultValue": "one, two, three"
    },
    "jsonFormattedData": {
      "type": "string",
      "defaultValue": "{'one': 'a', 'two': 'b'}"
    }
  },
  "variables": {
    "base64String": "[base64(parameters('stringData'))]",
    "base64Object": "[base64(parameters('jsonFormattedData'))]"
  },
  "resources": [
  ],
  "outputs": {
    "base64Output": {
      "type": "string",
      "value": "[variables('base64String')]"
    },
    "toStringOutput": {
      "type": "string",
      "value": "[base64ToString(variables('base64String'))]"
    },
    "toJsonOutput": {
      "type": "object",
      "value": "[base64ToJson(variables('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.

Bicep'te base64ToString işlevini kullanın.

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 örnek, base64 değerini dönüştürmek için işlevini kullanır base64ToString :

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stringData": {
      "type": "string",
      "defaultValue": "one, two, three"
    },
    "jsonFormattedData": {
      "type": "string",
      "defaultValue": "{'one': 'a', 'two': 'b'}"
    }
  },
  "variables": {
    "base64String": "[base64(parameters('stringData'))]",
    "base64Object": "[base64(parameters('jsonFormattedData'))]"
  },
  "resources": [
  ],
  "outputs": {
    "base64Output": {
      "type": "string",
      "value": "[variables('base64String')]"
    },
    "toStringOutput": {
      "type": "string",
      "value": "[base64ToString(variables('base64String'))]"
    },
    "toJsonOutput": {
      "type": "object",
      "value": "[base64ToJson(variables('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.

Bicep'te, okunabilirliği geliştirmek için işlevi yerine concat() dize ilişkilendirmesini 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.

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 örnekte iki dize değerinin nasıl birleştirildiği ve birleştirilmiş bir dizenin nasıl döndürüleceği gösterilmektedir.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "prefix": {
      "type": "string",
      "defaultValue": "prefix"
    }
  },
  "resources": [],
  "outputs": {
    "concatOutput": {
      "type": "string",
      "value": "[concat(parameters('prefix'), '-', uniqueString(resourceGroup().id))]"
    }
  }
}

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

Adı Tür Değer
concatOutput String prefix-5yj4yjf5mbg72

Aşağıdaki örnekte iki dizinin nasıl birleştirildiği gösterilmektedir.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "firstArray": {
      "type": "array",
      "defaultValue": [
        "1-1",
        "1-2",
        "1-3"
      ]
    },
    "secondArray": {
      "type": "array",
      "defaultValue": [
        "2-1",
        "2-2",
        "2-3"
      ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "return": {
      "type": "array",
      "value": "[concat(parameters('firstArray'), parameters('secondArray'))]"
    }
  }
}

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

Adı Tür Değer
return Dizi ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"]

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.

Bicep'te contains işlevini kullanın.

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

Öğe bulunursa True , değilse False.

Örnekler

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

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stringToTest": {
      "type": "string",
      "defaultValue": "OneTwoThree"
    },
    "objectToTest": {
      "type": "object",
      "defaultValue": {
        "one": "a",
        "two": "b",
        "three": "c"
      }
    },
    "arrayToTest": {
      "type": "array",
      "defaultValue": [ "one", "two", "three" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "stringTrue": {
      "type": "bool",
      "value": "[contains(parameters('stringToTest'), 'e')]"
    },
    "stringFalse": {
      "type": "bool",
      "value": "[contains(parameters('stringToTest'), 'z')]"
    },
    "objectTrue": {
      "type": "bool",
      "value": "[contains(parameters('objectToTest'), 'one')]"
    },
    "objectFalse": {
      "type": "bool",
      "value": "[contains(parameters('objectToTest'), 'a')]"
    },
    "arrayTrue": {
      "type": "bool",
      "value": "[contains(parameters('arrayToTest'), 'three')]"
    },
    "arrayFalse": {
      "type": "bool",
      "value": "[contains(parameters('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.

Bicep'te dataUri işlevini kullanın.

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.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stringToTest": {
      "type": "string",
      "defaultValue": "Hello"
    },
    "dataFormattedString": {
      "type": "string",
      "defaultValue": "data:;base64,SGVsbG8sIFdvcmxkIQ=="
    }
  },
  "resources": [],
  "outputs": {
    "dataUriOutput": {
      "value": "[dataUri(parameters('stringToTest'))]",
      "type": "string"
    },
    "toStringOutput": {
      "type": "string",
      "value": "[dataUriToString(parameters('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.

Bicep'te dataUriToString işlevini kullanın.

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 şablon bir değeri veri URI'sine dönüştürür ve veri URI'sini dizeye dönüştürür.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stringToTest": {
      "type": "string",
      "defaultValue": "Hello"
    },
    "dataFormattedString": {
      "type": "string",
      "defaultValue": "data:;base64,SGVsbG8sIFdvcmxkIQ=="
    }
  },
  "resources": [],
  "outputs": {
    "dataUriOutput": {
      "value": "[dataUri(parameters('stringToTest'))]",
      "type": "string"
    },
    "toStringOutput": {
      "type": "string",
      "value": "[dataUriToString(parameters('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ş olup olmadığını belirler.

Bicep'te boş işlevini kullanın.

Parametreler

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

Dönüş değeri

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

Örnekler

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

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testArray": {
      "type": "array",
      "defaultValue": []
    },
    "testObject": {
      "type": "object",
      "defaultValue": {}
    },
    "testString": {
      "type": "string",
      "defaultValue": ""
    }
  },
  "resources": [
  ],
  "outputs": {
    "arrayEmpty": {
      "type": "bool",
      "value": "[empty(parameters('testArray'))]"
    },
    "objectEmpty": {
      "type": "bool",
      "value": "[empty(parameters('testObject'))]"
    },
    "stringEmpty": {
      "type": "bool",
      "value": "[empty(parameters('testString'))]"
    }
  }
}

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

Adı Tür Değer
arrayEmpty Boole True
objectEmpty Boole True
stringEmpty 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.

Bicep'te endsWith işlevini kullanın.

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

Dizenin son karakteri veya karakterleri değerle eşleşiyorsa True , değilse False olur.

Örnekler

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

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "startsTrue": {
      "type": "bool",
      "value": "[startsWith('abcdef', 'ab')]"
    },
    "startsCapTrue": {
      "type": "bool",
      "value": "[startsWith('abcdef', 'A')]"
    },
    "startsFalse": {
      "type": "bool",
      "value": "[startsWith('abcdef', 'e')]"
    },
    "endsTrue": {
      "type": "bool",
      "value": "[endsWith('abcdef', 'ef')]"
    },
    "endsCapTrue": {
      "type": "bool",
      "value": "[endsWith('abcdef', 'F')]"
    },
    "endsFalse": {
      "type": "bool",
      "value": "[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.

Bicep'te ilk işlevi kullanın.

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.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "arrayToTest": {
      "type": "array",
      "defaultValue": [ "one", "two", "three" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "arrayOutput": {
      "type": "string",
      "value": "[first(parameters('arrayToTest'))]"
    },
    "stringOutput": {
      "type": "string",
      "value": "[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.

Bicep'te format işlevini kullanın.

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.
diğer bağımsız değişkenler Hayır dize, tamsayı veya boole Biçimlendirilmiş dizeye eklenecek diğer değerler.

Açıklamalar

Şablonunuzda 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.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "greeting": {
      "type": "string",
      "defaultValue": "Hello"
    },
    "name": {
      "type": "string",
      "defaultValue": "User"
    },
    "numberToFormat": {
      "type": "int",
      "defaultValue": 8175133
    }
  },
  "resources": [
  ],
  "outputs": {
    "formatTest": {
      "type": "string",
      "value": "[format('{0}, {1}. Formatted number: {2:N0}', parameters('greeting'), parameters('name'), parameters('numberToFormat'))]"
    }
  }
}

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

Adı Tür Değer
formatTest String Merhaba, Kullanıcı. Biçimlendirilmiş sayı: 8.175.133

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.

Bicep'te guid işlevini kullanın.

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 daha fazla parametre 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.

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, şunun guidsonuçlarını döndürür:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {},
  "variables": {},
  "resources": [],
  "outputs": {
    "guidPerSubscription": {
      "type": "string",
      "value": "[guid(subscription().subscriptionId)]"
    },
    "guidPerResourceGroup": {
      "type": "string",
      "value": "[guid(resourceGroup().id)]"
    },
    "guidPerDeployment": {
      "type": "string",
      "value": "[guid(resourceGroup().id, deployment().name)]"
    }
  }
}

ındexof

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.

Bicep'te indexOf işlevini kullanın.

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 ve lastIndexOf işlevlerinin indexOf nasıl kullanılacağı gösterilmektedir:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "firstT": {
      "type": "int",
      "value": "[indexOf('test', 't')]"
    },
    "lastT": {
      "type": "int",
      "value": "[lastIndexOf('test', 't')]"
    },
    "firstString": {
      "type": "int",
      "value": "[indexOf('abcdef', 'CD')]"
    },
    "lastString": {
      "type": "int",
      "value": "[lastIndexOf('abcdef', 'AB')]"
    },
    "notFound": {
      "type": "int",
      "value": "[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.

Bicep'te join işlevini kullanın.

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 farklı sınırlayıcılar kullanarak sınırlandırılmış dizeler halinde birleştirir.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "arrayString": [
      "one",
      "two",
      "three"
    ]
  },
  "resources": [],
  "outputs": {
    "firstOutput": {
      "type": "string",
      "value": "[join(variables('arrayString'), ',')]"
    },
    "secondOutput": {
      "type": "string",
      "value": "[join(variables('arrayString'), ';')]"
    }
  }
}

Yukarıdaki örnekten alınan çıkış:

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

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.

Bicep'te json işlevini kullanın.

Sonuncu

last(arg1)

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

Bicep'te son işlevi kullanın.

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 işlevin last bir dizi ve dize ile nasıl kullanılacağı gösterilmektedir.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "arrayToTest": {
      "type": "array",
      "defaultValue": [ "one", "two", "three" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "arrayOutput": {
      "type": "string",
      "value": "[last(parameters('arrayToTest'))]"
    },
    "stringOutput": {
      "type": "string",
      "value": "[last('One Two Three')]"
    }
  }
}

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

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

Lastındexof

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.

Bicep'te lastIndexOf işlevini kullanın.

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:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "firstT": {
      "type": "int",
      "value": "[indexOf('test', 't')]"
    },
    "lastT": {
      "type": "int",
      "value": "[lastIndexOf('test', 't')]"
    },
    "firstString": {
      "type": "int",
      "value": "[indexOf('abcdef', 'CD')]"
    },
    "lastString": {
      "type": "int",
      "value": "[lastIndexOf('abcdef', 'AB')]"
    },
    "notFound": {
      "type": "int",
      "value": "[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.

Bicep'te length işlevini kullanın.

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 işlevin length bir dizi ve dize ile nasıl kullanılacağı gösterilmektedir:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "arrayToTest": {
      "type": "array",
      "defaultValue": [
        "one",
        "two",
        "three"
      ]
    },
    "stringToTest": {
      "type": "string",
      "defaultValue": "One Two Three"
    },
    "objectToTest": {
      "type": "object",
      "defaultValue": {
        "propA": "one",
        "propB": "two",
        "propC": "three",
        "propD": {
          "propD-1": "sub",
          "propD-2": "sub"
        }
      }
    }
  },
  "resources": [],
  "outputs": {
    "arrayLength": {
      "type": "int",
      "value": "[length(parameters('arrayToTest'))]"
    },
    "stringLength": {
      "type": "int",
      "value": "[length(parameters('stringToTest'))]"
    },
    "objectLength": {
      "type": "int",
      "value": "[length(parameters('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.

Bicep'te newGuid işlevini kullanın.

Açıklamalar

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

newGuid işlevi, parametre almadığından guid işlevinden farklıdır. Guid'yi aynı parametreyle ç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şlevini kullanan bir şablonu 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.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "guidValue": {
      "type": "string",
      "defaultValue": "[newGuid()]"
    }
  },
  "resources": [
  ],
  "outputs": {
    "guidOutput": {
      "type": "string",
      "value": "[parameters('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 işlevini kullanır newGuid . Bu şablon, depolama hesabının kısa bir süre var olduğu ve yeniden dağıtılmadığı test ortamı için çalışabilir.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "guidValue": {
      "type": "string",
      "defaultValue": "[newGuid()]"
    }
  },
  "variables": {
    "storageName": "[concat('storage', uniqueString(parameters('guidValue')))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-04-01",
      "name": "[variables('storageName')]",
      "location": "West US",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2",
      "properties": {}
    }
  ],
  "outputs": {
    "nameOutput": {
      "type": "string",
      "value": "[variables('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.

Bicep'te padLeft işlevini kullanın.

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.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testString": {
      "type": "string",
      "defaultValue": "123"
    }
  },
  "resources": [],
  "outputs": {
    "stringOutput": {
      "type": "string",
      "value": "[padLeft(parameters('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.

Bicep'te replace işlevini kullanın.

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.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testString": {
      "type": "string",
      "defaultValue": "123-123-1234"
    }
  },
  "resources": [],
  "outputs": {
    "firstOutput": {
      "type": "string",
      "value": "[replace(parameters('testString'),'-', '')]"
    },
    "secondOutput": {
      "type": "string",
      "value": "[replace(parameters('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.

Bicep'te skip işlevini kullanın.

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.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testArray": {
      "type": "array",
      "defaultValue": [
        "one",
        "two",
        "three"
      ]
    },
    "elementsToSkip": {
      "type": "int",
      "defaultValue": 2
    },
    "testString": {
      "type": "string",
      "defaultValue": "one two three"
    },
    "charactersToSkip": {
      "type": "int",
      "defaultValue": 4
    }
  },
  "resources": [],
  "outputs": {
    "arrayOutput": {
      "type": "array",
      "value": "[skip(parameters('testArray'),parameters('elementsToSkip'))]"
    },
    "stringOutput": {
      "type": "string",
      "value": "[skip(parameters('testString'),parameters('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.

Bicep'te split işlevini kullanın.

Parametreler

Parametre Zorunlu Türü Açıklama
ınputstring 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.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "firstString": {
      "type": "string",
      "defaultValue": "one,two,three"
    },
    "secondString": {
      "type": "string",
      "defaultValue": "one;two,three"
    }
  },
  "variables": {
    "delimiters": [ ",", ";" ]
  },
  "resources": [],
  "outputs": {
    "firstOutput": {
      "type": "array",
      "value": "[split(parameters('firstString'),',')]"
    },
    "secondOutput": {
      "type": "array",
      "value": "[split(parameters('secondString'),variables('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.

Bicep'te startsWith işlevini kullanın.

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

Dizenin ilk karakteri veya karakterleri değerle eşleşiyorsa true , değilse False olur.

Örnekler

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

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "startsTrue": {
      "type": "bool",
      "value": "[startsWith('abcdef', 'ab')]"
    },
    "startsCapTrue": {
      "type": "bool",
      "value": "[startsWith('abcdef', 'A')]"
    },
    "startsFalse": {
      "type": "bool",
      "value": "[startsWith('abcdef', 'e')]"
    },
    "endsTrue": {
      "type": "bool",
      "value": "[endsWith('abcdef', 'ef')]"
    },
    "endsCapTrue": {
      "type": "bool",
      "value": "[endsWith('abcdef', 'F')]"
    },
    "endsFalse": {
      "type": "bool",
      "value": "[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.

Bicep'te dize işlevini kullanın.

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.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testObject": {
      "type": "object",
      "defaultValue": {
        "valueA": 10,
        "valueB": "Example Text"
      }
    },
    "testArray": {
      "type": "array",
      "defaultValue": [
        "a",
        "b",
        "c"
      ]
    },
    "testInt": {
      "type": "int",
      "defaultValue": 5
    }
  },
  "resources": [],
  "outputs": {
    "objectOutput": {
      "type": "string",
      "value": "[string(parameters('testObject'))]"
    },
    "arrayOutput": {
      "type": "string",
      "value": "[string(parameters('testArray'))]"
    },
    "intOutput": {
      "type": "string",
      "value": "[string(parameters('testInt'))]"
    }
  }
}

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

Adı Tür Değer
objectOutput String {"valueA":10,"valueB":"Örnek Metin"}
arrayOutput String ["a","b","c"]
intOutput String 5

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.

Bicep'te alt dize işlevini kullanın.

Parametreler

Parametre Zorunlu Türü Açıklama
stringToParse Yes Dize Alt dizenin ayıklandığı özgün dize.
Startındex 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'.".

"parameters": {
  "inputString": {
    "type": "string",
    "value": "1234567890"
  }
}, "variables": {
  "prefix": "[substring(parameters('inputString'), 0, 11)]"
}

Örnekler

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

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testString": {
      "type": "string",
      "defaultValue": "one two three"
    }
  },
  "resources": [],
  "outputs": {
    "substringOutput": {
      "type": "string",
      "value": "[substring(parameters('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)

Bir dizi veya dize döndürür. Bir dizi, dizinin başından itibaren belirtilen sayıda öğeye sahiptir. Dize, dizenin başından itibaren belirtilen sayıda karaktere sahiptir.

Bicep'te take işlevini kullanın.

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.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testArray": {
      "type": "array",
      "defaultValue": [
        "one",
        "two",
        "three"
      ]
    },
    "elementsToTake": {
      "type": "int",
      "defaultValue": 2
    },
    "testString": {
      "type": "string",
      "defaultValue": "one two three"
    },
    "charactersToTake": {
      "type": "int",
      "defaultValue": 2
    }
  },
  "resources": [],
  "outputs": {
    "arrayOutput": {
      "type": "array",
      "value": "[take(parameters('testArray'),parameters('elementsToTake'))]"
    },
    "stringOutput": {
      "type": "string",
      "value": "[take(parameters('testString'),parameters('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.

Bicep'te toLower işlevini kullanın.

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.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testString": {
      "type": "string",
      "defaultValue": "One Two Three"
    }
  },
  "resources": [],
  "outputs": {
    "toLowerOutput": {
      "type": "string",
      "value": "[toLower(parameters('testString'))]"
    },
    "toUpperOutput": {
      "type": "string",
      "value": "[toUpper(parameters('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.

Bicep'te toUpper işlevini kullanın.

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.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testString": {
      "type": "string",
      "defaultValue": "One Two Three"
    }
  },
  "resources": [],
  "outputs": {
    "toLowerOutput": {
      "type": "string",
      "value": "[toLower(parameters('testString'))]"
    },
    "toUpperOutput": {
      "type": "string",
      "value": "[toUpper(parameters('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İ ÜÇ

Döşeme

trim(stringToTrim)

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

Bicep'te kırpma işlevini kullanın.

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.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testString": {
      "type": "string",
      "defaultValue": "    one two three   "
    }
  },
  "resources": [],
  "outputs": {
    "return": {
      "type": "string",
      "value": "[trim(parameters('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.

Bicep'te uniqueString işlevini kullanın.

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 daha fazla parametre 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 için nasıl kullanılacağı uniqueString 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.

"resources": [{
  "name": "[concat('storage', uniqueString(resourceGroup().id))]",
  "type": "Microsoft.Storage/storageAccounts",
  ...

Bir şablonu her dağıttığınızda yeni bir benzersiz ad oluşturmanız gerekiyorsa ve kaynağı güncelleştirmek istemiyorsanız utcNow işlevini ile uniqueStringkullanabilirsiniz. Bu yaklaşımı bir test ortamında kullanabilirsiniz. Bir örnek için bkz . utcNow.

Dönüş değeri

13 karakter içeren bir dize.

Örnekler

Aşağıdaki örnek, şunun uniquestringsonuçlarını döndürür:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "uniqueRG": {
      "type": "string",
      "value": "[uniqueString(resourceGroup().id)]"
    },
    "uniqueDeploy": {
      "type": "string",
      "value": "[uniqueString(resourceGroup().id, deployment().name)]"
    }
  }
}

uri

uri(baseUri, relativeUri)

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

Bicep'te uri işlevini kullanın.

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.
  • BaseUri sondaki eğik çizgiyle bitiyorsa, sonuç baseUri ve ardından relativeUri olur.

  • BaseUri sondaki eğik çizgiyle bitmezse iki şeyden biri olur.

    • BaseUri'de hiç eğik çizgi yoksa (öne yakın olanın // dışında) sonuç baseUri ve ardından relativeUri olur.

    • BaseUri'de bazı eğik çizgiler varsa, ancak eğik çizgiyle bitmezse, son eğik çizgiden ileriye doğru her şey baseUri'denkaldırılır ve sonuç baseUri'dir ve ardından relativeUri olur.

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/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 için baseUri 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, üst şablonun değerine göre iç içe bir şablona bağlantı oluşturma gösterilmektedir.

"templateLink": "[uri(deployment().properties.templateLink.uri, 'nested/azuredeploy.json')]"

Aşağıdaki örnek şablonda , ve uriComponenturiComponentToString'nin nasıl kullanılacağı urigösterilmektedir.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "uriFormat": "[uri('http://contoso.com/resources/', 'nested/azuredeploy.json')]",
    "uriEncoded": "[uriComponent(variables('uriFormat'))]"
  },
  "resources": [
  ],
  "outputs": {
    "uriOutput": {
      "type": "string",
      "value": "[variables('uriFormat')]"
    },
    "componentOutput": {
      "type": "string",
      "value": "[variables('uriEncoded')]"
    },
    "toStringOutput": {
      "type": "string",
      "value": "[uriComponentToString(variables('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.

Bicep'te uriComponent işlevini kullanın.

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 örnek şablonda , ve uriComponenturiComponentToString'nin nasıl kullanılacağı urigösterilmektedir.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "uriFormat": "[uri('http://contoso.com/resources/', 'nested/azuredeploy.json')]",
    "uriEncoded": "[uriComponent(variables('uriFormat'))]"
  },
  "resources": [
  ],
  "outputs": {
    "uriOutput": {
      "type": "string",
      "value": "[variables('uriFormat')]"
    },
    "componentOutput": {
      "type": "string",
      "value": "[variables('uriEncoded')]"
    },
    "toStringOutput": {
      "type": "string",
      "value": "[uriComponentToString(variables('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.

Bicep'te uriComponentToString işlevini kullanın.

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 , uriComponentve uriComponentToString'nin nasıl kullanılacağı urigösterilmektedir.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "uriFormat": "[uri('http://contoso.com/resources/', 'nested/azuredeploy.json')]",
    "uriEncoded": "[uriComponent(variables('uriFormat'))]"
  },
  "resources": [
  ],
  "outputs": {
    "uriOutput": {
      "type": "string",
      "value": "[variables('uriFormat')]"
    },
    "componentOutput": {
      "type": "string",
      "value": "[variables('uriEncoded')]"
    },
    "toStringOutput": {
      "type": "string",
      "value": "[uriComponentToString(variables('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

  • ARM şablonundaki bölümlerin açıklaması için bkz . ARM şablonlarının yapısını ve söz dizimini anlama.
  • Birden çok şablonu birleştirmek için bkz . Azure kaynaklarını dağıtırken bağlantılı ve iç içe yerleştirilmiş şablonları kullanma.
  • Kaynak türü oluştururken belirtilen sayıda yineleme yapmak için bkz . ARM şablonlarında kaynak yinelemesi.
  • Oluşturduğunuz şablonun nasıl dağıtılacağına bakmak için bkz . ARM şablonları ve Azure PowerShell ile kaynakları dağıtma.