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 Bicep perché offre le stesse funzionalità dei modelli di ARM e la sintassi è più semplice. 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 | Richiesto | 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 | Oggetto | {"one": "a", "two": "b"} |
base64ToJson
base64ToJson(base64Value)
Converte una rappresentazione base64 in un oggetto JSON.
In Bicep usare la funzione base64ToJson .
Parametri
Parametro | Richiesto | 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 | Oggetto | {"one": "a", "two": "b"} |
base64ToString
base64ToString(base64Value)
Converte una rappresentazione base64 in una stringa.
In Bicep usare la funzione base64ToString .
Parametri
Parametro | Richiesto | 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 | Oggetto | {"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 multilinea, potrebbe essere necessario eseguire il fallback usando la funzione concat()
o la replace()
funzione .
Parametri
Parametro | Richiesto | 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 funzione contains (contiene).
Parametri
Parametro | Richiesto | 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 trovato; in caso contrario, 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 | Richiesto | 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 | Richiesto | 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 empty (vuota).
Parametri
Parametro | Richiesto | Type | Descrizione |
---|---|---|---|
itemToTest | Sì | matrice, oggetto o stringa | Il valore per controllare se è vuota. |
Valore restituito
Restituisce True
se il valore è vuoto; in caso contrario, 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 | Richiesto | 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, False
.
Esempi
Nell'esempio seguente viene illustrato come utilizzare le funzioni startsWith
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 funzione first (prima).
Parametri
Parametro | Richiesto | 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 | Richiesto | 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 | Richiesto | 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 funzione guid
implementa l'algoritmo da RFC 4122 §4.3. L’origine dati 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 | Richiesto | 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
Nell'esempio seguente viene illustrato come utilizzare le funzioni indexOf
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 | Richiesto | 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 | "one,two,three" |
secondOutput | String | "one;two;three" |
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 la funzione last (ultima).
Parametri
Parametro | Richiesto | 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 | Richiesto | 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
Nell'esempio seguente viene illustrato come utilizzare le funzioni indexOf
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 (lunghezza).
Parametri
Parametro | Richiesto | Type | Descrizione |
---|---|---|---|
arg1 | Sì | matrice, stringa o oggetto | La matrice da utilizzare per ottenere il numero di elementi, la stringa da utilizzare per ottenere il numero di caratteri o l'oggetto da utilizzare 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 utilizzare questa funzione solo all'interno di un'espressione per il valore predefinito di un parametro. L'uso di questa funzione in qualsiasi 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. Distribuire lo stesso modello con gli stessi parametri non produce gli stessi risultati in modo affidabile.
La funzione newGuid è diversa dalla funzione guid perché non accetta alcun parametro. 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 eseguire il ripristino dello stato precedente in caso di errore a una precedente distribuzione con esito positivo e la distribuzione precedente include un parametro che usa newGuid, il parametro non viene rivalutato. Al contrario, il valore del parametro della distribuzione precedente viene invece riutilizzato automaticamente nella distribuzione di ripristino.
In un ambiente di test potrebbe essere necessario distribuire ripetutamente risorse che hanno un tempo di vita breve. 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, inserire 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 a:
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 a:
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 | Richiesto | 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 | Richiesto | 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 (ignora).
Parametri
Parametro | Richiesto | 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 il valore è maggiore della lunghezza della stringa o della matrice, viene restituita una stringa o una matrice 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 | Richiesto | 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 | Richiesto | 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, False
.
Esempi
Nell'esempio seguente viene illustrato come utilizzare le funzioni startsWith
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 | Richiesto | 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 | Richiesto | 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 con il numero specificato di elementi dall'inizio della matrice. Una stringa con il numero specificato di caratteri dall'inizio della stringa.
In Bicep usare la funzione take (prendi).
Parametri
Parametro | Richiesto | 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 stringa o della matrice specificate, vengono restituiti tutti gli elementi nella stringa o nella matrice. |
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 | on |
toLower
toLower(stringToChange)
Converte la stringa specificata in caratteri minuscoli.
In Bicep usare la funzione toLower .
Parametri
Parametro | Richiesto | 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 | Richiesto | 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 | Richiesto | 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 | Richiesto | 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 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 tale 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 | Richiesto | 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 con una barra finale, il risultato viene semplicementebaseUri
seguito darelativeUri
. SerelativeUri
inizia anche con una barra iniziale, la barra finale e la barra iniziale verranno combinate in una barra.Se
baseUri
non termina con una barra finale, si verifica una delle due cose.Se
baseUri
non ha barre affatto (a parte la//
parte anteriore) il risultato èbaseUri
seguito darelativeUri
.Se
baseUri
contiene alcune barre, ma non termina con una barra, tutti gli elementi dall'ultima barra in poi vengono rimossi dabaseUri
e il risultato èbaseUri
seguito darelativeUri
.
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/', '/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 complete, i baseUri
parametri e relativeUri
vengono risolti come specificato nella sezione 5 di 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 | Richiesto | 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 | Richiesto | 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 ARM, vedi Comprendere la struttura e la sintassi dei modelli di ARM.
- Per unire più modelli, vedi Uso di modelli collegati e annidati nella distribuzione di risorse di Azure.
- Per eseguire l'iterazione un numero specificato di volte durante la creazione di un tipo di risorsa, vedi Iterazione delle risorse nei modelli di ARM.
- Per informazioni su come distribuire il modello creato, vedi Distribuire le risorse con i modelli di ARM e Azure PowerShell.