Aracılığıyla paylaş


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 önerilir. Daha fazla bilgi için bkz . dize işlevleri.

base64

base64(inputString)

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

Bicep'te işlevini kullanın base64 .

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 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": {
    "storageResourceGroup": {
      "type": "string"
    },
    "storageAccountName": {
      "type": "string"
    }
  },
  "resources": [],
  "outputs": {
    "ExistingStorage": {
      "type": "object",
      "value": "[reference(resourceId(parameters('storageResourceGroup'), 'Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2021-04-01')]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın base64ToJson .

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": {
    "storageResourceGroup": {
      "type": "string"
    },
    "storageAccountName": {
      "type": "string"
    }
  },
  "resources": [],
  "outputs": {
    "ExistingStorage": {
      "type": "object",
      "value": "[reference(resourceId(parameters('storageResourceGroup'), 'Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2021-04-01')]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın base64ToString .

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": {
    "storageResourceGroup": {
      "type": "string"
    },
    "storageAccountName": {
      "type": "string"
    }
  },
  "resources": [],
  "outputs": {
    "ExistingStorage": {
      "type": "object",
      "value": "[reference(resourceId(parameters('storageResourceGroup'), 'Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2021-04-01')]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 dize ilişkilendirmesiniconcat(). 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))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 veya dizenin alt dize 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 işlevini kullanın contains .

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ürlerle nasıl kullanılacağı contains 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')]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın dataUri .

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 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'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın dataUriToString .

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 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'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın empty .

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 döndürür True ; değilse, Falsedö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'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çıkışı:

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

endsWith

endsWith(stringToSearch, stringToFind)

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

Bicep'te işlevini kullanın endsWith .

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 ve startsWith işlevlerinin endsWith 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')]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın first .

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 veya türünün (dize, int, dizi veya nesne) dizesi.

Örnekler

Aşağıdaki örnekte işlevin first 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": "[first(parameters('arrayToTest'))]"
    },
    "stringOutput": {
      "type": "string",
      "value": "[first('One Two Three')]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın format .

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 işlevin nasıl kullanılacağı gösterilmektedir format :

{
  "$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'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın guid .

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 karma değerini temel alan yeni bir GUID oluşturmak için işlevini kullanın newGuid .

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ğı guid 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. guid() İşlev uygulamasında , namespaceId11fb06fb-712d-4ddd-98c7-e71bbd588830versionve olarak ayarlanır.5 Değeri, işlevin guid() her parametresi bir dizeye dönüştürülerek ve bunları - sınırlayıcı olarak birleştirerek oluşturulur.

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)]"
    }
  }
}

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.

Bicep'te işlevini kullanın indexOf .

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 indexOf işlevlerinin lastIndexOf 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')]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın join .

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 tarafından 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; İki; üç"

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şlev.

Bicep'te işlevini kullanın json .

Sonuncu

last(arg1)

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

Bicep'te işlevini kullanın last .

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')]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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.

Bicep'te işlevini kullanın lastIndexOf .

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 indexOf işlevlerinin lastIndexOf 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')]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın length .

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'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın newGuid .

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, herhangi bir parametre almadığından işlevden guid 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.

Önceki dağıtımın kullanan newGuidbir parametre içerdiği daha önceki başarılı bir dağıtımı yeniden dağıtmak için seçeneğini kullanırsanız, parametresi yeniden değerlendirilmez. Bunun yerine geri alma dağıtımı, önceki dağıtımdaki parametre değerini otomatik olarak yeniden kullanı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 newGuid ile kullanarak uniqueString benzersiz adlar oluşturabilirsiniz.

Varsayılan değer için işlevi kullanan bir şablonu yeniden dağıtmaya newGuid 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": "2025-06-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 işlevini kullanın padLeft .

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, kullanıcı tarafından sağlanan parametre değerini doldurmaya yönelik toplam karakter sayısına ulaşana kadar sıfır karakterinin nasıl ekleneceği 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')]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın replace .

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 bir 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')]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın skip .

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'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın split .

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 aşağıdaki dizeyi virgül 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'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın startsWith .

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 ve startsWith işlevlerinin endsWith 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')]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın string .

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'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın substring .

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'."

"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)]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın take .

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'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın toLower .

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 bir parametre değerini küçük 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'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın toUpper .

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 bir parametre değerini küçük 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'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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.

Bicep'te işlevini kullanın trim .

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'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın uniqueString .

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 ekle 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, aynı şekilde oluşturulan ad 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 işlevini ile uniqueStringkullanabilirsinizutcNow. 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 işlevini kullanın uri .

Parametreler

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

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

    • Eğik baseUri çizgi yoksa (öne yakın olanın // dışında) sonucu takip eder baseUrirelativeUri.

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

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 rfc 3986, bölüm 5'te belirtildiği gibi ve relativeUri parametreleri çö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 , 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'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın uriComponent .

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 , 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'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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 işlevini kullanın uriComponentToString .

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'))]"
    }
  }
}

Önceki örnekteki varsayılan değerlerin çı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.