Funzioni stringa per i modelli di Resource Manager
Resource Manager offre le funzioni seguenti per l'uso delle stringhe nel modello di Azure Resource Manager (modello di Resource Manager):
- base64
- base64ToJson
- base64ToString
- concat
- contains
- dataUri
- dataUriToString
- empty
- endsWith
- first
- format
- guid
- indexOf
- join
- json
- last
- lastIndexOf
- length
- newGuid
- padLeft
- replace
- skip
- split
- startsWith
- string
- substring
- take
- toLower
- toUpper
- Trim
- uniqueString
- uri
- uriComponent
- uriComponentToString
Suggerimento
È consigliabile usare Bicep perché offre le stesse funzionalità dei modelli arm e la sintassi è più facile da usare. Per altre informazioni, vedere Funzioni stringa .
base64
base64(inputString)
Restituisce la rappresentazione base64 della stringa di input.
In Bicep usare la funzione base64 .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
inputString | Sì | string | Il valore da restituire come rappresentazione base64. |
Valore restituito
Stringa contenente la rappresentazione base64.
Esempi
L'esempio seguente illustra come usare la funzione 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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
base64Output | String | b25lLCB0d28sIHRocmVl |
toStringOutput | String | one, two, three |
toJsonOutput | Object | {"one": "a", "two": "b"} |
base64ToJson
base64ToJson(base64Value)
Converte una rappresentazione base64 in un oggetto JSON.
In Bicep usare la funzione base64ToJson .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
base64Value | Sì | string | Rappresentazione base64 da convertire in un oggetto JSON. |
Valore restituito
Oggetto JSON.
Esempi
Nell'esempio seguente viene usata la base64ToJson
funzione per convertire un valore 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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
base64Output | String | b25lLCB0d28sIHRocmVl |
toStringOutput | String | one, two, three |
toJsonOutput | Object | {"one": "a", "two": "b"} |
base64ToString
base64ToString(base64Value)
Converte una rappresentazione base64 in una stringa.
In Bicep usare la funzione base64ToString .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
base64Value | Sì | string | Rappresentazione base64 da convertire in stringa. |
Valore restituito
Stringa del valore base64 convertito.
Esempi
Nell'esempio seguente viene usata la base64ToString
funzione per convertire un valore 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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
base64Output | String | b25lLCB0d28sIHRocmVl |
toStringOutput | String | one, two, three |
toJsonOutput | Object | {"one": "a", "two": "b"} |
concat
concat(arg1, arg2, arg3, ...)
Combina più valori stringa e restituisce la stringa concatenata oppure combina più matrici e restituisce la matrice concatenata.
In Bicep usare l'interpolazione di stringhe anziché la concat()
funzione per migliorare la leggibilità. Tuttavia, in alcuni casi, ad esempio la sostituzione di stringhe in stringhe a più righe, potrebbe essere necessario eseguire il fallback usando la concat()
funzione o la replace()
funzione .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
arg1 | Sì | Stringa o matrice | Prima stringa o matrice per la concatenazione. |
altri argomenti | No | Stringa o matrice | Più stringhe o matrici in ordine sequenziale per la concatenazione. |
Questa funzione può accettare qualsiasi numero di argomenti e può accettare stringhe o matrici per i parametri. Tuttavia, non è possibile fornire matrici e stringhe per i parametri. Le stringhe sono concatenate solo con altre stringhe.
Valore restituito
Stringa o matrice di valori concatenati.
Esempi
L'esempio seguente illustra come combinare due valori stringa e restituisce una stringa concatenata.
{
"$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))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
concatOutput | String | prefix-5yj4yjf5mbg72 |
L'esempio seguente illustra come combinare due matrici.
{
"$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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
return | Matrice | ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"] |
contains
contains(container, itemToFind)
Verifica se una matrice contiene un valore, se un oggetto contiene una chiave o se una stringa contiene una sottostringa. Il confronto fra stringhe fa distinzione tra maiuscole e minuscole. Tuttavia, quando si testa se un oggetto contiene una chiave, il confronto non fa distinzione tra maiuscole e minuscole.
In Bicep usare la funzionecontains .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
container | Sì | matrice, oggetto o stringa | Valore che contiene il valore da trovare. |
itemToFind | Sì | stringa o numero intero | Valore da trovare. |
Valore restituito
True se l'elemento viene individuato; in caso contrario, restituisce False.
Esempi
L'esempio seguente mostra come usare la funzione contains con tipi diversi:
{
"$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')]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
stringTrue | Bool | Vero |
stringFalse | Bool | Falso |
objectTrue | Bool | Vero |
objectFalse | Bool | Falso |
arrayTrue | Bool | Vero |
arrayFalse | Bool | Falso |
dataUri
dataUri(stringToConvert)
Converte un valore in un URI di dati.
In Bicep usare la funzione dataUri .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
stringToConvert | Sì | string | Valore da convertire in un URI di dati. |
Valore restituito
Stringa formattata come URI di dati.
Esempi
L'esempio seguente converte un valore in un URI di dati e converte un URI di dati in una stringa.
{
"$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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
dataUriOutput | String | data:text/plain;charset=utf8;base64,SGVsbG8= |
toStringOutput | String | Hello, World! |
dataUriToString
dataUriToString(dataUriToConvert)
Converte un valore formattato come URI di dati in una stringa.
In Bicep usare la funzione dataUriToString .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
dataUriToConvert | Sì | string | Valore dell'URI di dati da convertire. |
Valore restituito
Stringa contenente il valore convertito.
Esempi
Il modello di esempio seguente converte un valore in un URI di dati e converte un URI di dati in una stringa.
{
"$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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
dataUriOutput | String | data:text/plain;charset=utf8;base64,SGVsbG8= |
toStringOutput | String | Hello, World! |
empty
empty(itemToTest)
Determina se una matrice, un oggetto o una stringa sono vuoti.
In Bicep usare la funzione vuota .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
itemToTest | Sì | matrice, oggetto o stringa | Valore da controllare se è vuoto. |
Valore restituito
True se il valore è vuoto; in caso contrario, restituisce False.
Esempi
L'esempio seguente controlla se una matrice, un oggetto e una stringa sono vuoti.
{
"$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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
arrayEmpty | Bool | Vero |
objectEmpty | Bool | Vero |
stringEmpty | Bool | Vero |
endsWith
endsWith(stringToSearch, stringToFind)
Determina se una stringa termina con un valore. Il confronto non fa distinzione tra maiuscole e minuscole.
In Bicep usare la funzione endsWith .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
stringToSearch | Sì | string | Valore che contiene l'elemento da cercare. |
stringToFind | Sì | string | Valore da trovare. |
Valore restituito
True se l'ultimo carattere o i caratteri della stringa corrispondono al valore; in caso contrario, restituisce False.
Esempi
L'esempio seguente illustra come usare le startsWith
funzioni e endsWith
:
{
"$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')]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
startsTrue | Bool | Vero |
startsCapTrue | Bool | Vero |
startsFalse | Bool | Falso |
endsTrue | Bool | Vero |
endsCapTrue | Bool | Vero |
endsFalse | Bool | Falso |
primo
first(arg1)
Restituisce il primo carattere della stringa o il primo elemento della matrice. Se viene specificata una stringa vuota, la funzione restituisce una stringa vuota. Nel caso di una matrice vuota, la funzione restituisce null
.
In Bicep usare la prima funzione.
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
arg1 | Sì | stringa o matrice | Valore per recuperare il primo elemento o carattere. |
Valore restituito
Stringa del primo carattere o il tipo del primo elemento in una matrice (stringa, numero intero, matrice o oggetto).
Esempi
L'esempio seguente mostra come usare la prima funzione con una matrice e una stringa.
{
"$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')]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
arrayOutput | String | Uno |
stringOutput | String | O |
format
format(formatString, arg1, arg2, ...)
Crea una stringa formattata dai valori di input.
In Bicep usare la funzione format .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
Formatstring | Sì | string | Stringa di formato composito. |
arg1 | Sì | stringa, integer o booleano | Valore da includere nella stringa formattata. |
altri argomenti | No | stringa, integer o booleano | Altri valori da includere nella stringa formattata. |
Osservazioni:
Usare questa funzione per formattare una stringa nel modello. Usa le stesse opzioni di formattazione del metodo System.String.Format in .NET.
Esempi
Nell'esempio seguente viene illustrato come usare la funzione 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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
formatTest | String | Ciao, Utente. Numero formattato: 8.175.133 |
guid
guid(baseString, ...)
Crea un valore con il formato di un identificatore univoco globale in base ai valori specificati come parametri.
In Bicep usare la funzione GUID .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
baseString | Sì | string | Il valore usato nella funzione hash per creare il GUID. |
altri parametri in base alle esigenze | No | string | È possibile aggiungere tutte le stringhe necessarie per creare il valore che specifica il livello di univocità. |
Osservazioni:
Questa funzione è utile quando è necessario creare un valore con il formato di un identificatore univoco globale. È possibile specificare i valori dei parametri che limitano l'ambito di univocità per il risultato. È possibile specificare se il nome è univoco nella sottoscrizione, nel gruppo di risorse o nella distribuzione.
Il valore restituito non è una stringa casuale, ma piuttosto il risultato di una funzione hash sui parametri. Il valore restituito è lungo 36 caratteri. Non è univoco a livello globale. Per creare un nuovo GUID non basato sul valore hash dei parametri, usare la funzione newGuid .
Gli esempi seguenti illustrano come usare guid per creare un valore univoco per livelli di uso comune.
Con ambito univoco nella sottoscrizione
"[guid(subscription().subscriptionId)]"
Con ambito univoco nel gruppo di risorse
"[guid(resourceGroup().id)]"
Con ambito univoco nella distribuzione per un gruppo di risorse
"[guid(resourceGroup().id, deployment().name)]"
La guid
funzione implementa l'algoritmo da RFC 4122 §4.3. L'origine originale è disponibile in GuidUtility con alcune modifiche.
Valore restituito
Stringa contenente 36 caratteri nel formato di un identificatore univoco globale.
Esempi
Nell'esempio seguente vengono restituiti i risultati da guid
:
{
"$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)
Restituisce la prima posizione di un valore all'interno di una stringa. Il confronto non fa distinzione tra maiuscole e minuscole.
In Bicep usare la funzione indexOf .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
stringToSearch | Sì | string | Valore che contiene l'elemento da cercare. |
stringToFind | Sì | string | Valore da trovare. |
Valore restituito
Numero intero che rappresenta la posizione dell'elemento da trovare. Il valore è in base zero. Se l'elemento non viene trovato, viene restituito -1.
Esempi
L'esempio seguente illustra come usare le indexOf
funzioni e lastIndexOf
:
{
"$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')]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
firstT | Int | 0 |
lastT | Int | 3 |
firstString | Int | 2 |
lastString | Int | 0 |
notFound | Int | -1 |
join
join(inputArray, delimiter)
Unisce una matrice di stringhe in una singola stringa, separata usando un delimitatore.
In Bicep usare la funzione join .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
inputArray | Sì | matrice di valori string | Matrice di stringhe da unire. |
delimiter | Sì | Il delimitatore da usare per dividere la stringa. |
Valore restituito
Stringa .
Esempi
L'esempio seguente unisce la matrice di stringhe di input in stringhe delimitate usando delimitatori diversi.
{
"$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'), ';')]"
}
}
}
L'output dell'esempio precedente è:
Nome | Type | Valore |
---|---|---|
firstOutput | String | "uno,due,tre" |
secondOutput | String | "uno; Due; tre" |
JSON
json(arg1)
Converte una stringa JSON valida in un tipo di dati JSON. Per altre informazioni, vedere Funzione json.
In Bicep usare la funzione json .
ultimo
last(arg1)
Restituisce il primo carattere della stringa o l'ultimo elemento della matrice.
In Bicep usare l'ultima funzione.
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
arg1 | Sì | stringa o matrice | Valore per recuperare l'ultimo elemento o carattere. |
Valore restituito
Stringa dell'ultimo carattere o il tipo dell'ultimo elemento in una matrice (stringa, numero intero, matrice o oggetto).
Esempi
Nell'esempio seguente viene illustrato come usare la last
funzione con una matrice e una stringa.
{
"$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')]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
arrayOutput | String | tre |
stringOutput | String | e |
lastIndexOf
lastIndexOf(stringToSearch, stringToFind)
Restituisce l'ultima posizione di un valore all'interno di una stringa. Il confronto non fa distinzione tra maiuscole e minuscole.
In Bicep usare la funzione lastIndexOf .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
stringToSearch | Sì | string | Valore che contiene l'elemento da cercare. |
stringToFind | Sì | string | Valore da trovare. |
Valore restituito
Numero intero che rappresenta l'ultima posizione dell'elemento da trovare. Il valore è in base zero. Se l'elemento non viene trovato, viene restituito -1.
Esempi
L'esempio seguente illustra come usare le indexOf
funzioni e lastIndexOf
:
{
"$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')]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
firstT | Int | 0 |
lastT | Int | 3 |
firstString | Int | 2 |
lastString | Int | 0 |
notFound | Int | -1 |
length
length(string)
Restituisce il numero di caratteri in una stringa, elementi in una matrice o proprietà a livello radice in un oggetto .
In Bicep usare la funzione length .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
arg1 | Sì | matrice, stringa o oggetto | Matrice da utilizzare per ottenere il numero di elementi, la stringa da utilizzare per ottenere il numero di caratteri o l'oggetto da usare per ottenere il numero di proprietà a livello radice. |
Valore restituito
Numero intero
Esempi
L'esempio seguente illustra come usare la length
funzione con una matrice e una stringa:
{
"$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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
arrayLength | Int | 3 |
stringLength | Int | 13 |
objectLength | Int | 4 |
newGuid
newGuid()
Restituisce un valore nel formato di un identificatore univoco globale. Questa funzione può essere usata solo nel valore predefinito per un parametro.
In Bicep usare la funzione newGuid .
Osservazioni:
È possibile usare questa funzione solo all'interno di un'espressione per il valore predefinito di un parametro. L'uso di questa funzione in un'altra posizione in un modello restituisce un errore. La funzione non è consentita in altre parti del modello perché restituisce un valore diverso ogni volta che viene chiamato. La distribuzione dello stesso modello con gli stessi parametri non produce in modo affidabile gli stessi risultati.
La funzione newGuid è diversa dalla funzione GUID perché non accetta parametri. Quando si chiama guid con lo stesso parametro, restituisce lo stesso identificatore ogni volta. Usare guid quando è necessario generare in modo affidabile lo stesso GUID per un ambiente specifico. Usare newGuid quando è necessario un identificatore diverso ogni volta, ad esempio la distribuzione di risorse in un ambiente di test.
La funzione newGuid usa la struttura Guid in .NET Framework per generare l'identificatore univoco globale.
Se si usa l'opzione per ridistribuire una distribuzione precedente e la distribuzione precedente include un parametro che usa newGuid, il parametro non viene rivalutato. Il valore del parametro della distribuzione precedente viene invece riutilizzato automaticamente nella distribuzione di rollback.
In un ambiente di test potrebbe essere necessario distribuire ripetutamente risorse che si trovano solo per un breve periodo di tempo. Anziché costruire nomi univoci, è possibile usare newGuid con uniqueString per creare nomi univoci.
Prestare attenzione alla ridistribuzione di un modello che si basa sulla funzione newGuid per un valore predefinito. Quando si ridistribuisce e non si specifica un valore per il parametro , la funzione viene rivalutata. Se si vuole aggiornare una risorsa esistente anziché crearne una nuova, passare il valore del parametro dalla distribuzione precedente.
Valore restituito
Stringa contenente 36 caratteri nel formato di un identificatore univoco globale.
Esempi
Nell'esempio seguente viene illustrato un parametro con un nuovo identificatore.
{
"$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')]"
}
}
}
L'output dell'esempio precedente varia per ogni distribuzione, ma sarà simile al seguente:
Nome | Type | Valore |
---|---|---|
guidOutput | string | b76a51fc-bd72-4a77-b9a2-3c29e7d2e551 |
Nell'esempio seguente viene usata la newGuid
funzione per creare un nome univoco per un account di archiviazione. Questo modello potrebbe funzionare per l'ambiente di test in cui l'account di archiviazione esiste per un breve periodo di tempo e non viene ridistribuito.
{
"$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')]"
}
}
}
L'output dell'esempio precedente varia per ogni distribuzione, ma sarà simile al seguente:
Nome | Type | Valore |
---|---|---|
nameOutput | string | storagenziwvyru7uxie |
padLeft
padLeft(valueToPad, totalLength, paddingCharacter)
Restituisce una stringa allineata a destra mediante l'aggiunta di caratteri a sinistra, fino a raggiungere la lunghezza totale specificata.
In Bicep usare la funzione padLeft .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
valueToPad | Sì | stringa o numero intero | Il valore per eseguire l'allineamento a destra. |
totalLength | Sì | int | Numero totale di caratteri della stringa restituita. |
paddingCharacter | No | Carattere singolo | Il carattere da utilizzare per la spaziatura interna a sinistra, fino a raggiungere la lunghezza totale. Il valore predefinito è uno spazio. |
Se la stringa originale è più lunga rispetto al numero di caratteri di riempimento, non vengono aggiunti caratteri.
Valore restituito
Stringa contenente come minimo il numero di caratteri specificati.
Esempi
L'esempio seguente mostra come il valore del parametro fornito dall'utente viene completato aggiungendo il carattere zero finché la stringa non raggiunge il numero totale di caratteri.
{
"$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')]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
stringOutput | String | 0000000123 |
replace
replace(originalString, oldString, newString)
Restituisce una nuova stringa con tutte le istanze di una stringa sostituita con un'altra stringa.
In Bicep usare la funzione replace .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
originalString | Sì | string | Valore che contiene tutte le istanze di una stringa sostituita con un'altra stringa. |
oldString | Sì | string | Stringa da rimuovere dalla stringa originale. |
newString | Sì | string | Stringa da aggiungere al posto della stringa rimossa. |
Valore restituito
Stringa con i caratteri sostituiti.
Esempi
L'esempio seguente illustra come rimuovere tutti i trattini dalla stringa fornita dall'utente e come sostituire parte della stringa con un'altra stringa.
{
"$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')]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
firstOutput | String | 1231231234 |
secondOutput | String | 123-123-xxxx |
skip
skip(originalValue, numberToSkip)
Restituisce una stringa con tutti i caratteri dopo il numero specificato di caratteri o una matrice con tutti gli elementi dopo il numero specificato di elementi.
In Bicep usare la funzione skip .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
originalValue | Sì | stringa o matrice | Stringa o matrice da usare per i valori da ignorare. |
numberToSkip | Sì | int | Numero di elementi o caratteri da ignorare. Se il valore è minore o uguale a 0, vengono restituiti tutti gli elementi o i caratteri nel valore. Se è maggiore della lunghezza della matrice o della stringa, viene restituita una matrice o una stringa vuota. |
Valore restituito
Stringa o matrice.
Esempi
L'esempio seguente ignora il numero di elementi specificato nella matrice e il numero di caratteri specificato in una stringa.
{
"$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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
arrayOutput | Matrice | ["three"] |
stringOutput | String | two three |
split
split(inputString, delimiter)
Restituisce una matrice di stringhe che contiene le sottostringhe della stringa di input delimitate dai delimitatori specificati.
In Bicep usare la funzione split .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
inputString | Sì | string | Stringa da dividere. |
delimiter | Sì | Stringa o matrice di stringhe | Il delimitatore da usare per dividere la stringa. |
Valore restituito
Matrice di stringhe.
Esempi
Nell'esempio seguente la stringa di input viene divisa con una virgola e con una virgola o un punto e virgola.
{
"$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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
firstOutput | Matrice | ["one", "two", "three"] |
secondOutput | Matrice | ["one", "two", "three"] |
startsWith
startsWith(stringToSearch, stringToFind)
Determina se una stringa inizia con un valore. Il confronto non fa distinzione tra maiuscole e minuscole.
In Bicep usare la funzione startsWith .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
stringToSearch | Sì | string | Valore che contiene l'elemento da cercare. |
stringToFind | Sì | string | Valore da trovare. |
Valore restituito
True se il primo carattere o i caratteri della stringa corrispondono al valore; in caso contrario, restituisce False.
Esempi
L'esempio seguente illustra come usare le startsWith
funzioni e endsWith
:
{
"$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')]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
startsTrue | Bool | Vero |
startsCapTrue | Bool | Vero |
startsFalse | Bool | Falso |
endsTrue | Bool | Vero |
endsCapTrue | Bool | Vero |
endsFalse | Bool | Falso |
string
string(valueToConvert)
Converte il valore specificato in una stringa.
In Bicep usare la funzione stringa .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
valueToConvert | Sì | Qualsiasi | Valore da convertire in stringa. È possibile convertire qualsiasi tipo di valore, inclusi gli oggetti e le matrici. |
Valore restituito
Stringa del valore convertito.
Esempi
Nell'esempio seguente viene illustrato come convertire diversi tipi di valori in stringhe.
{
"$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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
objectOutput | String | {"valueA":10,"valueB":"Example Text"} |
arrayOutput | String | ["a","b","c"] |
intOutput | String | 5 |
substring
substring(stringToParse, startIndex, length)
Restituisce una sottostringa che inizia nella posizione del carattere specificato e contiene il numero di caratteri specificato.
In Bicep usare la funzione di sottostringa .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
stringToParse | Sì | string | La stringa originale da cui estrarre la sottostringa. |
startIndex | No | int | La posizione del carattere iniziale in base zero della sottostringa. |
length | No | int | Il numero di caratteri della sottostringa. Deve fare riferimento a una posizione nella stringa. Deve essere uguale a o maggiore di zero. Se omesso, verrà restituito il resto della stringa dalla posizione iniziale. |
Valore restituito
La sottostringa. Oppure una stringa vuota se la lunghezza è pari a zero.
Osservazioni:
La funzione ha esito negativo quando la sottostringa si estende oltre la fine della stringa o quando la lunghezza è minore di zero. L'esempio seguente ha esito negativo e visualizza l'errore "I parametri index e length devono fare riferimento a una posizione all'interno della stringa. Parametro index: '0', parametro length: '11', lunghezza del parametro string: '10'.".
"parameters": {
"inputString": {
"type": "string",
"value": "1234567890"
}
}, "variables": {
"prefix": "[substring(parameters('inputString'), 0, 11)]"
}
Esempi
L'esempio seguente estrae una sottostringa da un parametro.
{
"$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)]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
substringOutput | String | Due |
take
take(originalValue, numberToTake)
Restituisce una matrice o una stringa. Una matrice ha il numero specificato di elementi dall'inizio della matrice. Una stringa ha il numero specificato di caratteri dall'inizio della stringa.
In Bicep usare la funzione take .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
originalValue | Sì | stringa o matrice | Stringa o matrice da cui prendere gli elementi. |
numberToTake | Sì | int | Numero di elementi o caratteri da prendere. Se il valore è minore o uguale a 0, viene restituita una stringa o un matrice vuota. Se è maggiore della lunghezza della matrice o della stringa specificata, vengono restituiti tutti gli elementi nella matrice o nella stringa. |
Valore restituito
Stringa o matrice.
Esempi
L'esempio seguente prende il numero specificato di elementi dalla matrice e di caratteri dalla stringa.
{
"$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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
arrayOutput | Matrice | ["one", "two"] |
stringOutput | String | in |
toLower
toLower(stringToChange)
Converte la stringa specificata in caratteri minuscoli.
In Bicep usare la funzione toLower .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
stringToChange | Sì | string | Il valore da convertire in lettere minuscole. |
Valore restituito
La stringa convertita in lettere minuscole.
Esempi
L'esempio seguente converte il valore del parametro in lettere maiuscole e minuscole.
{
"$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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
toLowerOutput | String | one two three |
toUpperOutput | String | ONE TWO THREE |
toUpper
toUpper(stringToChange)
Converte la stringa specificata in lettere maiuscole.
In Bicep usare la funzione toUpper .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
stringToChange | Sì | string | Il valore da convertire in lettere maiuscole. |
Valore restituito
La stringa convertita in lettere maiuscole.
Esempi
L'esempio seguente converte il valore del parametro in lettere maiuscole e minuscole.
{
"$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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
toLowerOutput | String | one two three |
toUpperOutput | String | ONE TWO THREE |
Trim
trim(stringToTrim)
Rimuove tutti i caratteri di spazi vuoti iniziali e finali dalla stringa specificata.
In Bicep usare la funzione trim .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
stringToTrim | Sì | string | Il valore da tagliare. |
Valore restituito
La stringa senza spazi vuoti iniziali e finali.
Esempi
L'esempio seguente elimina i caratteri spazi vuoti dal parametro.
{
"$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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
return | String | one two three |
uniqueString
uniqueString(baseString, ...)
Crea una stringa hash deterministica in base ai valori forniti come parametri.
In Bicep usare la funzione uniqueString .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
baseString | Sì | string | Il valore usato nella funzione hash per creare una stringa univoca. |
altri parametri in base alle esigenze | No | string | È possibile aggiungere tutte le stringhe necessarie per creare il valore che specifica il livello di univocità. |
Osservazioni:
Questa funzione è utile quando è necessario creare un nome univoco per una risorsa. È possibile specificare i valori dei parametri che limitano l'ambito di univocità per il risultato. È possibile specificare se il nome è univoco nella sottoscrizione, nel gruppo di risorse o nella distribuzione.
Il valore restituito non è una stringa casuale, ma piuttosto il risultato di una funzione hash. Il valore restituito ha una lunghezza di 13 caratteri. Non è univoco a livello globale. È possibile combinare il valore con un prefisso dalla convenzione di denominazione scelta per creare un nome significativo. L'esempio seguente illustra il formato del valore restituito. Il valore effettivo varia in base ai parametri forniti.
tcvhiyu5h2o5o
Negli esempi seguenti viene illustrato come usare uniqueString
per creare un valore univoco per i livelli di uso comune.
Con ambito univoco nella sottoscrizione
"[uniqueString(subscription().subscriptionId)]"
Con ambito univoco nel gruppo di risorse
"[uniqueString(resourceGroup().id)]"
Con ambito univoco nella distribuzione per un gruppo di risorse
"[uniqueString(resourceGroup().id, deployment().name)]"
Nell'esempio seguente viene illustrato come creare un nome univoco per un account di archiviazione in base al gruppo di risorse. All'interno del gruppo di risorse, il nome non è univoco se costruito allo stesso modo.
"resources": [{
"name": "[concat('storage', uniqueString(resourceGroup().id))]",
"type": "Microsoft.Storage/storageAccounts",
...
Se è necessario creare un nuovo nome univoco ogni volta che si distribuisce un modello e non si intende aggiornare la risorsa, è possibile usare la funzione utcNow con uniqueString
. È possibile usare questo approccio in un ambiente di test. Per un esempio, vedere utcNow.
Valore restituito
Stringa contenente 13 caratteri.
Esempi
Nell'esempio seguente vengono restituiti i risultati da uniquestring
:
{
"$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)
Crea un URI assoluto combinando la baseUri e la stringa relativeUri.
In Bicep usare la funzione URI .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
baseUri | Sì | string | La stringa URI di base. Prestare attenzione a osservare il comportamento relativo alla gestione della barra finale (/ ), come descritto in questa tabella. |
relativeUri | Sì | string | La stringa URI relativa da aggiungere alla stringa di URI di base. |
Se baseUri termina in una barra finale, il risultato è baseUri seguito da relativeUri.
Se baseUri non termina con una barra finale, si verifica una delle due cose.
Se baseUri non contiene barre (a parte il
//
lato anteriore), il risultato è baseUri seguito da relativeUri.Se baseUri ha alcune barre, ma non termina con una barra, tutti gli elementi dall'ultima barra in poi vengono rimossi da baseUri e il risultato è baseUri seguito da relativeUri.
Di seguito sono riportati alcuni esempi.
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
Per informazioni dettagliate, i parametri baseUri e relativeUri vengono risolti come specificato nella sezione 3986 RFC 3986.
Valore restituito
Stringa che rappresenta l'URI assoluto dei valori di base e relativi.
Esempi
Nell'esempio seguente viene illustrato come costruire un collegamento a un modello annidato in base al valore del modello padre.
"templateLink": "[uri(deployment().properties.templateLink.uri, 'nested/azuredeploy.json')]"
Il modello di esempio seguente illustra come usare uri
, uriComponent
e uriComponentToString
.
{
"$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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
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)
Codifica un URI.
In Bicep usare la funzione uriComponent .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
stringToEncode | Sì | string | Valore da codificare. |
Valore restituito
Stringa del valore URI codificato.
Esempi
Il modello di esempio seguente illustra come usare uri
, uriComponent
e uriComponentToString
.
{
"$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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
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)
Restituisce una stringa di un valore URI codificato.
In Bicep usare la funzione uriComponentToString .
Parametri
Parametro | Obbligatorio | Type | Descrizione |
---|---|---|---|
uriEncodedString | Sì | string | Valore URI codificato da convertire in stringa. |
Valore restituito
Stringa decodificata del valore URI codificato.
Esempi
Nell'esempio seguente viene illustrato come usare uri
, uriComponent
e uriComponentToString
.
{
"$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'))]"
}
}
}
L'output dell'esempio precedente con i valori predefiniti è il seguente:
Nome | Type | Valore |
---|---|---|
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 |
Passaggi successivi
- Per una descrizione delle sezioni in un modello di Resource Manager, vedere Informazioni sulla struttura e la sintassi dei modelli di Resource Manager.
- Per unire più modelli, vedere Uso di modelli collegati e annidati durante la distribuzione di risorse di Azure.
- Per eseguire l'iterazione di un numero specificato di volte durante la creazione di un tipo di risorsa, vedere Iterazione delle risorse nei modelli di Resource Manager.
- Per informazioni su come distribuire il modello creato, vedere Distribuire le risorse con i modelli di Resource Manager e Azure PowerShell.