Funzioni stringa per i modelli di Resource Manager

Resource Manager fornisce le funzioni seguenti per l'uso di stringhe nel modello di Azure Resource Manager (modello ARM):

Suggerimento

È consigliabile Usare Bicep perché offre le stesse funzionalità dei modelli di Resource Manager e la sintassi è più semplice da usare. Per altre informazioni, vedere Funzioni stringa .

base64

base64(inputString)

Restituisce la rappresentazione base64 della stringa di input.

In Bicep usare la funzione base64 .

Parametri

Parametro Obbligatoria Tipo Descrizione
inputString string Il valore da restituire come rappresentazione base64.

Valore restituito

Stringa contenente la rappresentazione base64.

Esempio

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 Stringa b25lLCB0d28sIHRocmVl
toStringOutput Stringa 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 Obbligatoria Tipo Descrizione
base64Value string Rappresentazione base64 da convertire in un oggetto JSON.

Valore restituito

Oggetto JSON.

Esempio

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 Stringa b25lLCB0d28sIHRocmVl
toStringOutput Stringa 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 Obbligatoria Tipo Descrizione
base64Value string Rappresentazione base64 da convertire in stringa.

Valore restituito

Stringa del valore base64 convertito.

Esempio

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 Stringa b25lLCB0d28sIHRocmVl
toStringOutput Stringa 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 .

Parametri

Parametro Obbligatoria Tipo 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. Non è tuttavia possibile fornire matrici e stringhe per i parametri. Le stringhe sono concatenate solo con altre stringhe.

Valore restituito

Stringa o matrice di valori concatenati.

Esempio

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 Stringa 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 Array ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"]

contains

contains(container, itemToFind)

Verifica se una matrice contiene un valore, se un oggetto contiene una chiave o se una stringa contiene una sottostringa. Il confronto fra stringhe fa distinzione tra maiuscole e minuscole. Tuttavia, quando si testa se un oggetto contiene una chiave, il confronto non fa distinzione tra maiuscole e minuscole.

In Bicep usare la funzionecontains .

Parametri

Parametro Obbligatoria Tipo Descrizione
contenitore 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 individuato; in caso contrario, restituisce False.

Esempio

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 True
stringFalse Bool Falso
objectTrue Bool True
objectFalse Bool Falso
arrayTrue Bool True
arrayFalse Bool Falso

dataUri

dataUri(stringToConvert)

Converte un valore in un URI di dati.

In Bicep usare la funzione dataUri .

Parametri

Parametro Obbligatoria Tipo Descrizione
stringToConvert string Valore da convertire in un URI di dati.

Valore restituito

Stringa formattata come URI di dati.

Esempio

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 Stringa data:text/plain;charset=utf8;base64,SGVsbG8=
toStringOutput Stringa Hello, World!

dataUriToString

dataUriToString(dataUriToConvert)

Converte un valore formattato come URI di dati in una stringa.

In Bicep usare la funzione dataUriToString .

Parametri

Parametro Obbligatoria Tipo Descrizione
dataUriToConvert string Valore dell'URI di dati da convertire.

Valore restituito

Stringa contenente il valore convertito.

Esempio

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 Stringa data:text/plain;charset=utf8;base64,SGVsbG8=
toStringOutput Stringa Hello, World!

empty

empty(itemToTest)

Determina se una matrice, un oggetto o una stringa sono vuoti.

In Bicep usare la funzione vuota .

Parametri

Parametro Obbligatoria Tipo Descrizione
itemToTest matrice, oggetto o stringa Valore da controllare se è vuoto.

Valore restituito

True se il valore è vuoto; in caso contrario, restituisce False.

Esempio

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 True
objectEmpty Bool True
stringEmpty Bool True

endsWith

endsWith(stringToSearch, stringToFind)

Determina se una stringa termina con un valore. Il confronto viene eseguito senza distinzione tra maiuscole e minuscole.

In Bicep usare la funzione endsWith .

Parametri

Parametro Obbligatoria Tipo 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, restituisce False.

Esempio

Nell'esempio seguente viene illustrato come usare le startsWith funzioni e endsWith :

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

L'output dell'esempio precedente con i valori predefiniti è il seguente:

Nome Type valore
startsTrue Bool True
startsCapTrue Bool True
startsFalse Bool Falso
endsTrue Bool True
endsCapTrue Bool True
endsFalse Bool Falso

first

first(arg1)

Restituisce il primo carattere della stringa o il primo elemento della matrice.

In Bicep usare la prima funzione.

Parametri

Parametro Obbligatoria Tipo 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).

Esempio

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 Stringa one
stringOutput Stringa O

format

format(formatString, arg1, arg2, ...)

Crea una stringa formattata dai valori di input.

In Bicep usare la funzione di formato .

Parametri

Parametro Obbligatoria Tipo Descrizione
formatString string Stringa di formato composito.
arg1 string, integer o boolean Valore da includere nella stringa formattata.
altri argomenti No string, integer o boolean Altri valori da includere nella stringa formattata.

Commenti

Usare questa funzione per formattare una stringa nel modello. Usa le stesse opzioni di formattazione del metodo System.String.Format in .NET.

Esempio

Nell'esempio seguente viene illustrato come usare la funzione di formato.

{
  "$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 Stringa 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 Obbligatoria Tipo 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à.

Commenti

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

Valore restituito

Stringa contenente 36 caratteri nel formato di un identificatore univoco globale.

Esempio

Nell'esempio seguente vengono restituiti 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 viene eseguito senza distinzione tra maiuscole e minuscole.

In Bicep usare la funzione indexOf .

Parametri

Parametro Obbligatoria Tipo 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.

Esempio

L'esempio seguente illustra come usare le indexOf funzioni e lastIndexOf :

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

L'output dell'esempio precedente con i valori predefiniti è il seguente:

Nome Type valore
firstT Int 0
lastT Int 3
firstString Int 2
lastString Int 0
notFound Int -1

join

join(inputArray, delimiter)

Unisce una matrice di stringhe in una singola stringa, separata usando un delimitatore.

In Bicep usare la funzione join .

Parametri

Parametro Obbligatoria Tipo Descrizione
inputArray matrice di valori string Matrice di stringhe da unire.
delimiter Il delimitatore da usare per dividere la stringa.

Valore restituito

Stringa.

Esempio

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 Stringa "uno,due,tre"
secondOutput Stringa "uno;due;tre"

json

json(arg1)

Converte una stringa JSON valida in un tipo di dati JSON. Per altre informazioni, vedere Funzione json.

In Bicep usare la funzione json .

last

last(arg1)

Restituisce il primo carattere della stringa o l'ultimo elemento della matrice.

In Bicep usare l'ultima funzione.

Parametri

Parametro Obbligatoria Tipo 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).

Esempio

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 Stringa three
stringOutput Stringa e

lastIndexOf

lastIndexOf(stringToSearch, stringToFind)

Restituisce l'ultima posizione di un valore all'interno di una stringa. Il confronto viene eseguito senza distinzione tra maiuscole e minuscole.

In Bicep usare la funzione lastIndexOf .

Parametri

Parametro Obbligatoria Tipo 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.

Esempio

L'esempio seguente illustra come usare le indexOf funzioni e lastIndexOf :

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

L'output dell'esempio precedente con i valori predefiniti è il seguente:

Nome Type valore
firstT Int 0
lastT Int 3
firstString Int 2
lastString Int 0
notFound Int -1

length

length(string)

Restituisce il numero di caratteri in una stringa, elementi in una matrice o proprietà a livello radice in un oggetto .

In Bicep usare la funzione length .

Parametri

Parametro Obbligatoria Tipo Descrizione
arg1 matrice, stringa o oggetto Matrice da usare per ottenere il numero di elementi, la stringa da usare per ottenere il numero di caratteri o l'oggetto da usare per ottenere il numero di proprietà a livello radice.

Valore restituito

Numero intero

Esempio

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 nuova funzioneGuid .

Commenti

È possibile usare questa funzione solo all'interno di un'espressione per il valore predefinito di un parametro. L'uso di questa funzione ovunque in un modello restituisce un errore. La funzione non è consentita in altre parti del modello perché restituisce un valore diverso ogni volta che viene chiamato. La distribuzione dello stesso modello con gli stessi parametri non produce in modo affidabile gli stessi risultati.

La funzione newGuid differisce dalla funzione guid perché non accetta parametri. Quando si chiama guid con lo stesso parametro, restituisce lo stesso identificatore ogni volta. Usare guid quando è necessario generare in modo affidabile lo stesso GUID per un ambiente specifico. Usare newGuid quando è necessario un identificatore diverso ogni volta, ad esempio la distribuzione di risorse in un ambiente di test.

La nuova funzioneGuid usa la struttura Guid in .NET Framework per generare l'identificatore univoco globale.

Se si usa l'opzione per ridistribuire una distribuzione precedente e la distribuzione precedente include un parametro che usa newGuid, il parametro non viene rivalutato. Il valore del parametro della distribuzione precedente viene invece riutilizzato automaticamente nella distribuzione di rollback.

In un ambiente di test potrebbe essere necessario distribuire ripetutamente le risorse che vivono solo per un breve periodo di tempo. Anziché costruire nomi univoci, è possibile usare newGuid con uniqueString per creare nomi univoci.

Prestare attenzione alla ridistribuzione di un modello che si basa sulla nuova funzioneGuid per un valore predefinito. Quando si ridistribuisce e non si specifica un valore per il parametro, la funzione viene rivalutata. Se si vuole aggiornare una risorsa esistente anziché crearne una nuova, passare il valore del parametro dalla distribuzione precedente.

Valore restituito

Stringa contenente 36 caratteri nel formato di un identificatore univoco globale.

Esempio

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 può 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 Obbligatoria Tipo 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.

Esempio

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 Stringa 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 di sostituzione .

Parametri

Parametro Obbligatoria Tipo 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.

Esempio

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 Stringa 1231231234
secondOutput Stringa 123-123-xxxx

skip

skip(originalValue, numberToSkip)

Restituisce una stringa con tutti i caratteri dopo il numero specificato di caratteri o una matrice con tutti gli elementi dopo il numero specificato di elementi.

In Bicep usare la funzione skip .

Parametri

Parametro Obbligatoria Tipo 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 è maggiore della lunghezza della matrice o della stringa, viene restituita una matrice o una stringa vuota.

Valore restituito

Stringa o matrice.

Esempio

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 Array ["three"]
stringOutput Stringa 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 Obbligatoria Tipo 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.

Esempio

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 Array ["one", "two", "three"]
secondOutput Array ["one", "two", "three"]

startsWith

startsWith(stringToSearch, stringToFind)

Determina se una stringa inizia con un valore. Il confronto viene eseguito senza distinzione tra maiuscole e minuscole.

In Bicep usare la funzione startsWith .

Parametri

Parametro Obbligatoria Tipo 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, restituisce False.

Esempio

L'esempio seguente illustra come usare le startsWith funzioni e endsWith :

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

L'output dell'esempio precedente con i valori predefiniti è il seguente:

Nome Type valore
startsTrue Bool True
startsCapTrue Bool True
startsFalse Bool Falso
endsTrue Bool True
endsCapTrue Bool True
endsFalse Bool False

string

string(valueToConvert)

Converte il valore specificato in una stringa.

In Bicep usare la funzione stringa .

Parametri

Parametro Obbligatoria Tipo 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.

Esempio

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 Stringa {"valueA":10,"valueB":"Example Text"}
arrayOutput Stringa ["a","b","c"]
intOutput Stringa 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 Obbligatoria Tipo 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.

Commenti

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

Esempio

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 Stringa two

take

take(originalValue, numberToTake)

Restituisce una matrice o una stringa. Una matrice ha il numero specificato di elementi dall'inizio della matrice. Una stringa ha il numero specificato di caratteri dall'inizio della stringa.

In Bicep usare la funzione take .

Parametri

Parametro Obbligatoria Tipo 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 matrice o della stringa specificata, vengono restituiti tutti gli elementi nella matrice o nella stringa.

Valore restituito

Stringa o matrice.

Esempio

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 Array ["one", "two"]
stringOutput Stringa on

toLower

toLower(stringToChange)

Converte la stringa specificata in caratteri minuscoli.

In Bicep usare la funzione toLower .

Parametri

Parametro Obbligatoria Tipo Descrizione
stringToChange string Il valore da convertire in lettere minuscole.

Valore restituito

La stringa convertita in lettere minuscole.

Esempio

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 Stringa one two three
toUpperOutput Stringa ONE TWO THREE

toUpper

toUpper(stringToChange)

Converte la stringa specificata in lettere maiuscole.

In Bicep usare la funzione toUpper .

Parametri

Parametro Obbligatoria Tipo Descrizione
stringToChange string Il valore da convertire in lettere maiuscole.

Valore restituito

La stringa convertita in lettere maiuscole.

Esempio

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 Stringa one two three
toUpperOutput Stringa ONE TWO THREE

Trim

trim(stringToTrim)

Rimuove tutti i caratteri di spazi vuoti iniziali e finali dalla stringa specificata.

In Bicep usare la funzione di taglio .

Parametri

Parametro Obbligatoria Tipo Descrizione
stringToTrim string Il valore da tagliare.

Valore restituito

La stringa senza spazi vuoti iniziali e finali.

Esempio

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 Stringa 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 Obbligatoria Tipo 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à.

Commenti

Questa funzione è utile quando è necessario creare un nome univoco per una risorsa. È possibile specificare i valori dei parametri che limitano l'ambito di univocità per il risultato. È possibile specificare se il nome è univoco nella sottoscrizione, nel gruppo di risorse o nella distribuzione.

Il valore restituito non è una stringa casuale, ma piuttosto il risultato di una funzione hash. Il valore restituito ha una lunghezza di 13 caratteri. Non è univoco a livello globale. È possibile combinare il valore con un prefisso dalla convenzione di denominazione scelta per creare un nome significativo. L'esempio seguente illustra il formato del valore restituito. Il valore effettivo varia in base ai parametri forniti.

tcvhiyu5h2o5o

Negli esempi seguenti viene illustrato come usare uniqueString per creare un valore univoco per i livelli di uso comune.

Con ambito univoco nella sottoscrizione

"[uniqueString(subscription().subscriptionId)]"

Con ambito univoco nel gruppo di risorse

"[uniqueString(resourceGroup().id)]"

Con ambito univoco nella distribuzione per un gruppo di risorse

"[uniqueString(resourceGroup().id, deployment().name)]"

Nell'esempio seguente viene illustrato come creare un nome univoco per un account di archiviazione in base al gruppo di risorse. All'interno del gruppo di risorse, il nome non è univoco se costruito allo stesso modo.

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

Se è necessario creare un nuovo nome univoco ogni volta che si distribuisce un modello e non si intende aggiornare la risorsa, è possibile usare la funzione utcNow con uniqueString. È possibile usare questo approccio in un ambiente di test. Per un esempio, vedere utcNow.

Valore restituito

Stringa contenente 13 caratteri.

Esempio

Nell'esempio seguente vengono restituiti 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 Obbligatoria Tipo 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 è baseUri seguito da relativeUri.

  • Se baseUri non termina con una barra finale, si verifica una delle due cose.

    • Se baseUri non ha alcuna barra (a parte la // parte anteriore) il risultato è baseUri seguito da relativeUri.

    • Se baseUri ha alcune barre, ma non termina con una barra, tutti gli elementi dall'ultima barra in poi vengono rimossi da baseUri e il risultato è baseUri seguito da relativeUri.

Di seguito sono riportati alcuni esempi:

uri('http://contoso.org/firstpath', 'myscript.sh') -> http://contoso.org/myscript.sh
uri('http://contoso.org/firstpath/', 'myscript.sh') -> http://contoso.org/firstpath/myscript.sh
uri('http://contoso.org/firstpath/azuredeploy.json', 'myscript.sh') -> http://contoso.org/firstpath/myscript.sh
uri('http://contoso.org/firstpath/azuredeploy.json/', 'myscript.sh') -> http://contoso.org/firstpath/azuredeploy.json/myscript.sh

Per informazioni dettagliate, i parametri baseUri e relativeUri vengono risolti come specificato nella sezione 3986 RFC 3986.

Valore restituito

Stringa che rappresenta l'URI assoluto dei valori di base e relativi.

Esempio

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 Stringa http://contoso.com/resources/nested/azuredeploy.json
componentOutput Stringa http%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.json
toStringOutput Stringa http://contoso.com/resources/nested/azuredeploy.json

uriComponent

uricomponent(stringToEncode)

Codifica un URI.

In Bicep usare la funzione uriComponent .

Parametri

Parametro Obbligatoria Tipo Descrizione
stringToEncode string Valore da codificare.

Valore restituito

Stringa del valore URI codificato.

Esempio

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 Stringa http://contoso.com/resources/nested/azuredeploy.json
componentOutput Stringa http%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.json
toStringOutput Stringa 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 Obbligatoria Tipo Descrizione
uriEncodedString string Valore URI codificato da convertire in stringa.

Valore restituito

Stringa decodificata del valore URI codificato.

Esempio

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 Stringa http://contoso.com/resources/nested/azuredeploy.json
componentOutput Stringa http%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.json
toStringOutput Stringa http://contoso.com/resources/nested/azuredeploy.json

Passaggi successivi