Řetězcové funkce pro šablony ARM

Resource Manager poskytuje následující funkce pro práci s řetězci v šabloně Azure Resource Manageru (šablona ARM):

Tip

Doporučujeme Bicep, protože nabízí stejné možnosti jako šablony ARM a syntaxe se snadněji používá. Další informace najdete v tématu Řetězcové funkce.

base64

base64(inputString)

Vrátí reprezentaci vstupního řetězce base64.

V Bicep použijte funkci base64 .

Parametry

Parametr Požaduje se Type Popis
inputString Ano string Hodnota, která se má vrátit jako reprezentace base64.

Vrácená hodnota

Řetězec obsahující reprezentaci base64.

Příklady

Následující příklad ukazuje, jak používat base64 funkci.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
base64Output String b25lLCB0d28sIHRocmVl
toStringOutput String Jedna dva tři
toJsonOutput Object {"one": "a", "two": "b"}

base64ToJson

base64ToJson(base64Value)

Převede reprezentaci base64 na objekt JSON.

V bicep použijte funkci base64ToJson .

Parametry

Parametr Požaduje se Type Popis
base64Value Ano string Reprezentace base64 pro převod na objekt JSON.

Vrácená hodnota

Objekt JSON.

Příklady

Následující příklad používá base64ToJson funkci k převodu hodnoty 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'))]"
    }
  }
}

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
base64Output String b25lLCB0d28sIHRocmVl
toStringOutput String Jedna dva tři
toJsonOutput Object {"one": "a", "two": "b"}

base64ToString

base64ToString(base64Value)

Převede reprezentaci base64 na řetězec.

V bicep použijte funkci base64ToString .

Parametry

Parametr Požaduje se Type Popis
base64Value Ano string Reprezentace base64, která se má převést na řetězec.

Vrácená hodnota

Řetězec převedené hodnoty base64.

Příklady

Následující příklad používá base64ToString funkci k převodu hodnoty 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'))]"
    }
  }
}

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
base64Output String b25lLCB0d28sIHRocmVl
toStringOutput String Jedna dva tři
toJsonOutput Object {"one": "a", "two": "b"}

concat

concat(arg1, arg2, arg3, ...)

Kombinuje více řetězcových hodnot a vrací zřetězený řetězec nebo kombinuje více polí a vrací zřetězené pole.

V Bicep použijte místo funkce interpolaciconcat() řetězců ke zlepšení čitelnosti. V některých případech, například nahrazení řetězce ve víceřádkových řetězcích, ale možná budete muset vrátit zpět použití concat() funkce nebo replace() funkce.

Parametry

Parametr Požaduje se Type Popis
arg1 Ano řetězec nebo pole První řetězec nebo pole pro zřetězení
další argumenty No řetězec nebo pole Více řetězců nebo polí v sekvenčním pořadí pro zřetězení

Tato funkce může přijmout libovolný počet argumentů a pro parametry může přijímat řetězce nebo pole. Pro parametry ale nemůžete zadat pole i řetězce. Řetězce jsou zřetězeny pouze s jinými řetězci.

Vrácená hodnota

Řetězec nebo pole zřetězených hodnot.

Příklady

Následující příklad ukazuje, jak zkombinovat dvě řetězcové hodnoty a vrátit zřetězený řetězec.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
concatOutput String prefix-5yj4yjf5mbg72

Následující příklad ukazuje, jak zkombinovat dvě pole.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
return Pole ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"]

obsahuje

contains(container, itemToFind)

Kontroluje, zda pole obsahuje hodnotu, objekt obsahuje klíč nebo řetězec obsahuje podřetězce. Porovnání řetězců se rozlišují malá a velká písmena. Při testování, pokud objekt obsahuje klíč, je však porovnání nerozlišující malá a velká písmena.

V Bicep použijte funkci contains .

Parametry

Parametr Požaduje se Type Popis
kontejner Ano pole, objekt nebo řetězec Hodnota, která obsahuje hodnotu, kterou chcete najít.
itemToFind Ano řetězec nebo int Hodnota, kterou chcete najít.

Vrácená hodnota

Hodnota True , pokud je položka nalezena; v opačném případě false.

Příklady

Následující příklad ukazuje, jak používat obsahuje různé typy:

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
stringTrue Bool True
stringFalse Bool False
objectTrue Bool True
objectFalse Bool False
arrayTrue Bool True
arrayFalse Bool False

identifikátor dataURI

dataUri(stringToConvert)

Převede hodnotu na identifikátor URI dat.

V bicep použijte funkci dataUri .

Parametry

Parametr Požaduje se Type Popis
stringToConvert Ano string Hodnota, která se má převést na identifikátor URI dat.

Vrácená hodnota

Řetězec formátovaný jako identifikátor URI dat.

Příklady

Následující příklad převede hodnotu na identifikátor URI dat a převede identifikátor URI dat na řetězec.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
dataUriOutput String data:text/plain; charset=utf8; base64,SGVsbG8=
toStringOutput String Hello, World!

dataUriToString

dataUriToString(dataUriToConvert)

Převede hodnotu formátovanou datovým identifikátorem URI na řetězec.

V Bicep použijte funkci dataUriToString .

Parametry

Parametr Požaduje se Type Popis
dataUriToConvert Ano string Hodnota identifikátoru URI dat, která se má převést.

Vrácená hodnota

Řetězec obsahující převedenou hodnotu.

Příklady

Následující příklad šablony převede hodnotu na identifikátor URI dat a převede identifikátor URI dat na řetězec.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
dataUriOutput String data:text/plain; charset=utf8; base64,SGVsbG8=
toStringOutput String Hello, World!

empty

empty(itemToTest)

Určuje, zda je pole, objekt nebo řetězec prázdné.

V Bicep použijte prázdnou funkci.

Parametry

Parametr Požaduje se Type Popis
itemToTest Ano pole, objekt nebo řetězec Hodnota, která se má zkontrolovat, jestli je prázdná.

Vrácená hodnota

Vrátí hodnotu True , pokud je hodnota prázdná. V opačném případě vrátí hodnotu False.

Příklady

Následující příklad zkontroluje, zda pole, objekt a řetězec jsou prázdné.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
arrayEmpty Bool True
objectEmpty Bool True
stringEmpty Bool True

Endswith

endsWith(stringToSearch, stringToFind)

Určuje, zda řetězec končí hodnotou. Porovnání nerozlišuje malá a velká písmena.

V Bicep použijte funkci endsWith .

Parametry

Parametr Požaduje se Type Popis
stringToSearch Ano string Hodnota obsahující položku, kterou chcete najít.
stringToFind Ano string Hodnota, kterou chcete najít.

Vrácená hodnota

Hodnota True , pokud poslední znak nebo znaky řetězce odpovídají hodnotě; v opačném případě false.

Příklady

Následující příklad ukazuje, jak používat funkce startsWithendsWith :

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
startsTrue Bool True
startsCapTrue Bool True
startsFalse Bool False
endTrue Bool True
endsCapTrue Bool True
endFalse Bool False

1\.

first(arg1)

Vrátí první znak řetězce nebo první prvek pole. Pokud je zadaný prázdný řetězec, výsledkem funkce bude prázdný řetězec. V případě prázdného pole vrátí nullfunkce .

V Bicep použijte první funkci.

Parametry

Parametr Požaduje se Type Popis
arg1 Ano pole nebo řetězec Hodnota pro načtení prvního prvku nebo znaku.

Vrácená hodnota

Řetězec prvního znaku nebo typ (řetězec, int, pole nebo objekt) prvního prvku v poli.

Příklady

Následující příklad ukazuje, jak použít první funkci s polem a řetězcem.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
arrayOutput String jeden
stringOutput String O

format

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

Vytvoří formátovaný řetězec ze vstupních hodnot.

V Bicep použijte funkci format .

Parametry

Parametr Požaduje se Type Popis
Formatstring Ano string Složený formátovací řetězec.
arg1 Ano řetězec, celé číslo nebo logická hodnota Hodnota, která se má zahrnout do formátovaného řetězce.
další argumenty No řetězec, celé číslo nebo logická hodnota Do formátovaného řetězce se zahrnou další hodnoty.

Poznámky

Pomocí této funkce můžete formátovat řetězec v šabloně. Používá stejné možnosti formátování jako metoda System.String.Format v .NET.

Příklady

Následující příklad ukazuje, jak používat funkci formátu.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
formatTest String Dobrý den, uživatel. Formátované číslo: 8 175 133

guid

guid(baseString, ...)

Vytvoří hodnotu ve formátu globálně jedinečného identifikátoru na základě hodnot zadaných jako parametry.

V Bicep použijte funkci GUID .

Parametry

Parametr Požaduje se Type Popis
baseString Ano string Hodnota použitá ve funkci hash k vytvoření identifikátoru GUID.
další parametry podle potřeby No string Můžete přidat tolik řetězců, kolik potřebujete k vytvoření hodnoty, která určuje úroveň jedinečnosti.

Poznámky

Tato funkce je užitečná, když potřebujete vytvořit hodnotu ve formátu globálně jedinečného identifikátoru. Zadáte hodnoty parametrů, které omezují rozsah jedinečnosti výsledku. Můžete určit, jestli je název jedinečný až do předplatného, skupiny prostředků nebo nasazení.

Vrácená hodnota není náhodný řetězec, ale spíše výsledek funkce hash u parametrů. Vrácená hodnota je 36 znaků dlouhá. Není globálně jedinečný. Pokud chcete vytvořit nový identifikátor GUID, který není založený na této hodnotě hash parametrů, použijte funkci newGuid .

Následující příklady ukazují, jak pomocí identifikátoru GUID vytvořit jedinečnou hodnotu pro běžně používané úrovně.

Jedinečný obor předplatného

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

Jedinečný obor pro skupinu prostředků

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

Jedinečný obor nasazení pro skupinu prostředků

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

Funkce guid implementuje algoritmus z RFC 4122 §4.3. Původní zdroj lze najít v GuidUtility s některými úpravami.

Vrácená hodnota

Řetězec obsahující 36 znaků ve formátu globálně jedinečného identifikátoru.

Příklady

Následující příklad vrátí výsledky z 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)

Vrátí první pozici hodnoty v řetězci. Porovnání nerozlišuje malá a velká písmena.

V Bicep použijte funkci indexOf .

Parametry

Parametr Požaduje se Type Popis
stringToSearch Ano string Hodnota obsahující položku, kterou chcete najít.
stringToFind Ano string Hodnota, kterou chcete najít.

Vrácená hodnota

Celé číslo, které představuje pozici položky, která se má najít. Hodnota je založená na nule. Pokud se položka nenajde, vrátí se hodnota -1.

Příklady

Následující příklad ukazuje, jak používat funkce indexOflastIndexOf :

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
firstT Int 0
lastT Int 3
firstString Int 2
lastString Int 0
notFound Int -1

join

join(inputArray, delimiter)

Spojí pole řetězců do jednoho řetězce odděleného oddělovačem.

V Bicep použijte funkci join .

Parametry

Parametr Požaduje se Type Popis
inputArray Ano pole řetězce Pole řetězce, který se má spojit.
Oddělovač Ano Oddělovač, který se má použít k rozdělení řetězce.

Vrácená hodnota

Řetězec.

Příklady

Následující příklad spojí vstupní pole řetězců s řetězci oddělenými pomocí různých oddělovačů.

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

Výstup z předchozího příkladu je:

Name Typ Hodnota
firstOutput String "jedna,dvě,tři"
secondOutput String "jeden; Dva; tři"

json

json(arg1)

Převede platný řetězec JSON na datový typ JSON. Další informace najdete v tématu funkce JSON.

V Bicep použijte funkci JSON .

Poslední

last(arg1)

Vrátí poslední znak řetězce nebo poslední prvek pole.

V Bicep použijte poslední funkci.

Parametry

Parametr Požaduje se Type Popis
arg1 Ano pole nebo řetězec Hodnota pro načtení posledního prvku nebo znaku.

Vrácená hodnota

Řetězec posledního znaku nebo typ (řetězec, int, pole nebo objekt) posledního prvku v poli.

Příklady

Následující příklad ukazuje, jak používat last funkci s polem a řetězcem.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
arrayOutput String tři
stringOutput String e

Lastindexof

lastIndexOf(stringToSearch, stringToFind)

Vrátí poslední pozici hodnoty v řetězci. Porovnání nerozlišuje malá a velká písmena.

V Bicep použijte funkci lastIndexOf .

Parametry

Parametr Požaduje se Type Popis
stringToSearch Ano string Hodnota obsahující položku, kterou chcete najít.
stringToFind Ano string Hodnota, kterou chcete najít.

Vrácená hodnota

Celé číslo, které představuje poslední pozici položky, která se má najít. Hodnota je založená na nule. Pokud se položka nenajde, vrátí se hodnota -1.

Příklady

Následující příklad ukazuje, jak používat funkce indexOflastIndexOf :

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
firstT Int 0
lastT Int 3
firstString Int 2
lastString Int 0
notFound Int -1

length

length(string)

Vrátí počet znaků v řetězci, prvky v poli nebo vlastnosti kořenové úrovně v objektu.

V Bicep použijte funkci délky .

Parametry

Parametr Požaduje se Type Popis
arg1 Ano pole, řetězec nebo objekt Pole, které se má použít pro získání počtu prvků, řetězec, který se má použít pro získání počtu znaků, nebo objekt, který se má použít pro získání počtu vlastností kořenové úrovně.

Vrácená hodnota

Int.

Příklady

Následující příklad ukazuje, jak používat length funkci s polem a řetězcem:

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
arrayLength Int 3
stringLength Int 13
objectLength Int 4

newGuid

newGuid()

Vrátí hodnotu ve formátu globálně jedinečného identifikátoru. Tuto funkci lze použít pouze ve výchozí hodnotě parametru.

V Bicep použijte funkci newGuid .

Poznámky

Tuto funkci můžete použít pouze ve výrazu pro výchozí hodnotu parametru. Použití této funkce kdekoli jinde v šabloně vrátí chybu. Funkce není povolená v jiných částech šablony, protože pokaždé, když je volána, vrátí jinou hodnotu. Nasazení stejné šablony se stejnými parametry by spolehlivě nezískuilo stejné výsledky.

Nová funkceGuid se liší od funkce GUID , protože nepřebírají žádné parametry. Když zavoláte identifikátor GUID se stejným parametrem, vrátí pokaždé stejný identifikátor. Pokud potřebujete spolehlivě vygenerovat stejný identifikátor GUID pro konkrétní prostředí, použijte identifikátor GUID. NewGuid použijte, když potřebujete pokaždé jiný identifikátor, například nasazení prostředků do testovacího prostředí.

Nová funkceGuid používá strukturu GUID v rozhraní .NET Framework k vygenerování globálně jedinečného identifikátoru.

Pokud použijete možnost opětovného nasazení dříve úspěšného nasazení a dřívější nasazení obsahuje parametr, který používá newGuid, parametr se znovu nevyhodnotuje. Místo toho se hodnota parametru z předchozího nasazení automaticky znovu použije v nasazení vrácení zpět.

V testovacím prostředí možná budete muset opakovaně nasazovat prostředky, které žijí jen na krátkou dobu. Místo vytváření jedinečných názvů můžete k vytvoření jedinečných názvů použít newGuid s uniqueString .

Při opětovném nasazení šablony, která pro výchozí hodnotu spoléhá na funkci newGuid, buďte opatrní. Když znovu nasadíte parametr a nezadáte hodnotu parametru, funkce se znovu zhodnocuje. Pokud chcete místo vytvoření nového prostředku aktualizovat existující prostředek, předejte hodnotu parametru z předchozího nasazení.

Vrácená hodnota

Řetězec obsahující 36 znaků ve formátu globálně jedinečného identifikátoru.

Příklady

Následující příklad ukazuje parametr s novým identifikátorem.

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

Výstup z předchozího příkladu se pro každé nasazení liší, ale bude vypadat nějak takto:

Name Typ Hodnota
GuidOutput string b76a51fc-bd72-4a77-b9a2-3c29e7d2e551

Následující příklad používá newGuid funkci k vytvoření jedinečného názvu účtu úložiště. Tato šablona může fungovat pro testovací prostředí, ve kterém existuje účet úložiště na krátkou dobu a není znovu nasazený.

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

Výstup z předchozího příkladu se pro každé nasazení liší, ale bude vypadat nějak takto:

Name Typ Hodnota
nameOutput string storagenziwvyru7uxie

padLeft

padLeft(valueToPad, totalLength, paddingCharacter)

Vrátí řetězec zarovnaný doprava přidáním znaků doleva, dokud nedosáhne celkové zadané délky.

V Bicep použijte funkci padLeft .

Parametry

Parametr Požaduje se Type Popis
valueToPad Ano řetězec nebo int Hodnota, která se má zarovnat doprava.
totalLength Ano int Celkový počet znaků ve vráceném řetězci.
paddingCharacter No jeden znak Znak, který se má použít pro odsazení doleva, dokud nedosáhnete celkové délky. Výchozí hodnota je mezera.

Pokud je původní řetězec delší než počet znaků na panel, nepřidají se žádné znaky.

Vrácená hodnota

Řetězec s alespoň počtem zadaných znaků.

Příklady

Následující příklad ukazuje, jak hodnotu parametru poskytovanou uživatelem přidat nulu, dokud nedosáhne celkového počtu znaků.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
stringOutput String 0000000123

replace

replace(originalString, oldString, newString)

Vrátí nový řetězec se všemi instancemi jednoho řetězce nahrazeným jiným řetězcem.

V Bicep použijte funkci replace .

Parametry

Parametr Požaduje se Type Popis
Originalstring Ano string Hodnota, která má všechny instance jednoho řetězce nahrazen jiným řetězcem.
oldString Ano string Řetězec, který se má odebrat z původního řetězce.
newString Ano string Řetězec, který se má přidat místo odebraného řetězce.

Vrácená hodnota

Řetězec s nahrazenými znaky.

Příklady

Následující příklad ukazuje, jak odebrat všechny pomlčky z uživatelem poskytnutého řetězce a jak nahradit část řetězce jiným řetězcem.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
firstOutput String 1231231234
secondOutput String 123-123-xxxx

skip

skip(originalValue, numberToSkip)

Vrátí řetězec se všemi znaky za zadaným počtem znaků nebo pole se všemi prvky za zadaným počtem prvků.

V Bicep použijte funkci skip .

Parametry

Parametr Požaduje se Type Popis
originalValue Ano pole nebo řetězec Pole nebo řetězec, které se mají použít pro přeskočení.
numberToSkip Ano int Počet prvků nebo znaků, které chcete přeskočit. Pokud je tato hodnota 0 nebo menší, vrátí se všechny prvky nebo znaky v hodnotě. Pokud je větší než délka pole nebo řetězce, vrátí se prázdné pole nebo řetězec.

Vrácená hodnota

Pole nebo řetězec.

Příklady

Následující příklad přeskočí zadaný počet prvků v poli a zadaný počet znaků v řetězci.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
arrayOutput Pole ["tři"]
stringOutput String dva tři

split

split(inputString, delimiter)

Vrátí pole řetězců, které obsahují podřetězce vstupního řetězce, které jsou oddělené zadanými oddělovači.

V Bicep použijte rozdělenou funkci.

Parametry

Parametr Požaduje se Type Popis
inputString Ano string Řetězec, který chcete rozdělit.
Oddělovač Ano řetězec nebo pole řetězců Oddělovač, který se má použít k rozdělení řetězce.

Vrácená hodnota

Pole řetězců.

Příklady

Následující příklad rozdělí vstupní řetězec čárkou a buď čárkou, nebo středníkem.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
firstOutput Pole ["one", "two", "three"]
secondOutput Pole ["one", "two", "three"]

Startswith

startsWith(stringToSearch, stringToFind)

Určuje, zda řetězec začíná hodnotou. Porovnání nerozlišuje malá a velká písmena.

V Bicep použijte funkci startsWith .

Parametry

Parametr Požaduje se Type Popis
stringToSearch Ano string Hodnota obsahující položku, kterou chcete najít.
stringToFind Ano string Hodnota, kterou chcete najít.

Vrácená hodnota

True , pokud první znak nebo znaky řetězce odpovídají hodnotě; jinak False.

Příklady

Následující příklad ukazuje, jak používat funkce startsWithendsWith :

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
startsTrue Bool True
startsCapTrue Bool True
startsFalse Bool False
endTrue Bool True
endsCapTrue Bool True
endFalse Bool False

string

string(valueToConvert)

Převede zadanou hodnotu na řetězec.

V Bicep použijte řetězcovou funkci.

Parametry

Parametr Požaduje se Type Popis
valueToConvert Ano Všechny Hodnota, která se má převést na řetězec. Libovolný typ hodnoty lze převést, včetně objektů a polí.

Vrácená hodnota

Řetězec převedené hodnoty.

Příklady

Následující příklad ukazuje, jak převést různé typy hodnot na řetězce.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
objectOutput String {"valueA":10,"valueB":"Příklad textu"}
arrayOutput String ["a","b","c"]
intOutput String 5

Podřetězec

substring(stringToParse, startIndex, length)

Vrátí podřetěr, který začíná na zadané pozici znaku a obsahuje zadaný počet znaků.

V bicep použijte funkci podřetědce .

Parametry

Parametr Požaduje se Type Popis
stringToParse Ano string Původní řetězec, ze kterého se extrahuje podřetězce.
Startindex No int Pozice počátečního znaku založeného na nule pro podřetězdce.
length No int Počet znaků podřetědce. Musí odkazovat na umístění v řetězci. Musí být nula nebo větší. Pokud tento argument vynecháte, vrátí se zbytek řetězce od počáteční pozice.

Vrácená hodnota

Podřetětěr. Nebo prázdný řetězec, pokud je délka nula.

Poznámky

Funkce selže, pokud podřetězce přesahuje konec řetězce nebo pokud je délka menší než nula. Následující příklad selže s chybou "Parametry indexu a délky musí odkazovat na umístění v řetězci. Parametr indexu: 0, parametr length: 11, délka parametru řetězce: 10.

"parameters": {
  "inputString": {
    "type": "string",
    "value": "1234567890"
  }
}, "variables": {
  "prefix": "[substring(parameters('inputString'), 0, 11)]"
}

Příklady

Následující příklad extrahuje podřetěr z parametru.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
substringOutput String dva

take

take(originalValue, numberToTake)

Vrátí matici nebo řetězec. Matice má zadaný počet prvků od začátku pole. Řetězec má zadaný počet znaků od začátku řetězce.

V Bicep použijte funkci take .

Parametry

Parametr Požaduje se Type Popis
originalValue Ano pole nebo řetězec Pole nebo řetězec, ze které mají být prvky odebrány.
numberToTake Ano int Počet prvků nebo znaků, které se mají vzít. Pokud je tato hodnota 0 nebo menší, vrátí se prázdné pole nebo řetězec. Pokud je větší než délka daného pole nebo řetězce, vrátí se všechny prvky v poli nebo řetězci.

Vrácená hodnota

Pole nebo řetězec.

Příklady

Následující příklad přebírá zadaný počet prvků z pole a znaky z řetězce.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
arrayOutput Pole ["one", "two"]
stringOutput String on

Tolower

toLower(stringToChange)

Převede zadaný řetězec na malá písmena.

V Bicep použijte funkci toLower .

Parametry

Parametr Požaduje se Type Popis
stringToChange Ano string Hodnota, která se má převést na malá písmena.

Vrácená hodnota

Řetězec byl převeden na malá písmena.

Příklady

Následující příklad převede hodnotu parametru na malá a velká písmena.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
toLowerOutput String Jedna dva tři
toUpperOutput String JEDNA DVA TŘI

Toupper

toUpper(stringToChange)

Převede zadaný řetězec na velká písmena.

V Bicep použijte funkci toUpper .

Parametry

Parametr Požaduje se Type Popis
stringToChange Ano string Hodnota, která se má převést na velká písmena.

Vrácená hodnota

Řetězec byl převeden na velká písmena.

Příklady

Následující příklad převede hodnotu parametru na malá a velká písmena.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
toLowerOutput String Jedna dva tři
toUpperOutput String JEDNA DVA TŘI

Trim

trim(stringToTrim)

Odebere všechny počáteční a koncové prázdné znaky ze zadaného řetězce.

V Bicep použijte funkci trim .

Parametry

Parametr Požaduje se Type Popis
stringToTrim Ano string Hodnota, kterou chcete oříznout.

Vrácená hodnota

Řetězec bez úvodních a koncových prázdných znaků.

Příklady

Následující příklad oříznou prázdné znaky z parametru.

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

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
return String Jedna dva tři

uniqueString

uniqueString(baseString, ...)

Vytvoří deterministický hashovací řetězec založený na hodnotách zadaných jako parametry.

V Bicep použijte funkci uniqueString .

Parametry

Parametr Požaduje se Type Popis
baseString Ano string Hodnota použitá ve funkci hash k vytvoření jedinečného řetězce.
další parametry podle potřeby No string Můžete přidat tolik řetězců, kolik potřebujete k vytvoření hodnoty, která určuje úroveň jedinečnosti.

Poznámky

Tato funkce je užitečná, když potřebujete vytvořit jedinečný název prostředku. Zadáte hodnoty parametrů, které omezují rozsah jedinečnosti výsledku. Můžete určit, jestli je název jedinečný až do předplatného, skupiny prostředků nebo nasazení.

Vrácená hodnota není náhodný řetězec, ale spíše výsledek funkce hash. Vrácená hodnota je dlouhá 13 znaků. Není globálně jedinečný. Můžete zkombinovat hodnotu s předponou z vaší konvence vytváření názvů a vytvořit smysluplný název. Následující příklad ukazuje formát vrácené hodnoty. Skutečná hodnota se liší podle zadaných parametrů.

tcvhiyu5h2o5o

Následující příklady ukazují, jak vytvořit uniqueString jedinečnou hodnotu pro běžně používané úrovně.

Jedinečný obor předplatného

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

Jedinečný obor pro skupinu prostředků

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

Jedinečný obor nasazení pro skupinu prostředků

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

Následující příklad ukazuje, jak vytvořit jedinečný název pro účet úložiště na základě vaší skupiny prostředků. V rámci skupiny prostředků není název jedinečný, pokud je vytvořený stejným způsobem.

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

Pokud potřebujete vytvořit nový jedinečný název pokaždé, když nasadíte šablonu a nechcete aktualizovat prostředek, můžete použít funkci utcNow s uniqueString. Tento přístup můžete použít v testovacím prostředí. Příklad: viz utcNow.

Vrácená hodnota

Řetězec obsahující 13 znaků.

Příklady

Následující příklad vrátí výsledky z 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)

Vytvoří absolutní identifikátor URI kombinací baseUri a řetězce relativeUri.

V bicep použijte funkci URI .

Parametry

Parametr Požaduje se Type Popis
Baseuri Ano string Základní řetězec identifikátoru URI. Dbejte na to, abyste sledovali chování týkající se zpracování koncového lomítka (/), jak je popsáno v následující tabulce.
Relativeuri Ano string Relativní řetězec identifikátoru URI, který se má přidat do základního řetězce identifikátoru URI.
  • Pokud baseUri končí koncové lomítko, výsledek je baseUri následovaný relativním identifikátoremURI.

  • Pokud baseUri nekončí koncové lomítko, stane se jedna ze dvou věcí.

    • Pokud baseUri nemá vůbec žádná lomítka (kromě // blízkosti fronty), výsledek je baseUri následovaný relativním identifikátoremURI.

    • Pokud baseUri obsahuje některá lomítka, ale nekončí lomítkem, odebere se vše od posledního lomítka směrem od baseUri a výsledek je baseUri následovaný relativním identifikátoremURI.

Několik příkladů:

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

V případě úplných podrobností se parametry baseUri a relativeUri přeloží tak, jak je uvedeno v dokumentu RFC 3986 oddílu 5.

Vrácená hodnota

Řetězec představující absolutní identifikátor URI pro základní a relativní hodnoty.

Příklady

Následující příklad ukazuje, jak vytvořit odkaz na vnořenou šablonu na základě hodnoty nadřazené šablony.

"templateLink": "[uri(deployment().properties.templateLink.uri, 'nested/azuredeploy.json')]"

Následující příklad šablony ukazuje, jak používat uri, uriComponenta 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'))]"
    }
  }
}

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
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)

Zakóduje identifikátor URI.

V bicep použijte funkci uriComponent .

Parametry

Parametr Požaduje se Type Popis
stringToEncode Ano string Hodnota, která se má kódovat.

Vrácená hodnota

Řetězec s hodnotou kódovanou identifikátorem URI.

Příklady

Následující příklad šablony ukazuje, jak používat uri, uriComponenta 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'))]"
    }
  }
}

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
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)

Vrátí řetězec s hodnotou zakódovanou identifikátorem URI.

V Bicep použijte funkci uriComponentToString .

Parametry

Parametr Požaduje se Type Popis
uriEncodedString Ano string Zakódovaná hodnota identifikátoru URI, která se má převést na řetězec.

Vrácená hodnota

Dekódovaný řetězec kódované hodnoty identifikátoru URI.

Příklady

Následující příklad ukazuje, jak používat uri, uriComponenta 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'))]"
    }
  }
}

Výstup z předchozího příkladu s výchozími hodnotami je:

Name Typ Hodnota
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

Další kroky