Condividi tramite


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):

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 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 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 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 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 matrice, oggetto o stringa Valore che contiene il valore da trovare.
itemToFind 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 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 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 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 string Valore che contiene l'elemento da cercare.
stringToFind 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 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 string Stringa di formato composito.
arg1 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 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 string Valore che contiene l'elemento da cercare.
stringToFind 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 matrice di valori string Matrice di stringhe da unire.
delimiter 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 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 string Valore che contiene l'elemento da cercare.
stringToFind 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 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 stringa o numero intero Il valore per eseguire l'allineamento a destra.
totalLength 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 string Valore che contiene tutte le istanze di una stringa sostituita con un'altra stringa.
oldString string Stringa da rimuovere dalla stringa originale.
newString 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 stringa o matrice Stringa o matrice da usare per i valori da ignorare.
numberToSkip 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 string Stringa da dividere.
delimiter 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 string Valore che contiene l'elemento da cercare.
stringToFind 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 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 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 stringa o matrice Stringa o matrice da cui prendere gli elementi.
numberToTake 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 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 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 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 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 string La stringa URI di base. Prestare attenzione a osservare il comportamento relativo alla gestione della barra finale (/), come descritto in questa tabella.
relativeUri string La stringa URI relativa da aggiungere alla stringa di URI di base.
  • Se baseUri termina con una barra finale, il risultato viene semplicemente baseUri seguito da relativeUri. Se relativeUri 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 da relativeUri.

    • Se baseUri contiene 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/', '/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, uriComponente 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 string Valore da codificare.

Valore restituito

Stringa del valore URI codificato.

Esempi

Il modello di esempio seguente illustra come usare uri, uriComponente 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 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, uriComponente 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