Partilhar via


Funções de cadeia de caracteres para modelos ARM

O Resource Manager fornece as seguintes funções para trabalhar com cadeias de caracteres no seu modelo do Azure Resource Manager (modelo ARM):

Gorjeta

O bíceps é recomendado, pois oferece os mesmos recursos que os modelos ARM e a sintaxe é mais fácil de usar. Para saber mais, consulte Funções de cadeia de caracteres .

base64

base64(inputString)

Retorna a representação base64 da cadeia de caracteres de entrada.

No Bicep, use a base64 função.

Parâmetros

Parâmetro Necessário Tipo Description
inputString Sim cadeia (de caracteres) O valor a retornar como uma representação base64.

Valor devolvido

Uma cadeia de caracteres que contém a representação base64.

Exemplos

O exemplo a seguir mostra como usar a base64 função:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageResourceGroup": {
      "type": "string"
    },
    "storageAccountName": {
      "type": "string"
    }
  },
  "resources": [],
  "outputs": {
    "ExistingStorage": {
      "type": "object",
      "value": "[reference(resourceId(parameters('storageResourceGroup'), 'Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2021-04-01')]"
    }
  }
}

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
base64Saída String b25lLCB0d28sIHRocmVl
toStringOutput String Um dois três
toJsonOutput Object {"um": "a", "dois": "b"}

base64ToJson

base64ToJson(base64Value)

Converte uma representação base64 em um objeto JSON.

No Bicep, use a base64ToJson função.

Parâmetros

Parâmetro Necessário Tipo Description
base64Valor Sim cadeia (de caracteres) A representação base64 para converter em um objeto JSON.

Valor devolvido

Um objeto JSON.

Exemplos

O exemplo a seguir usa a base64ToJson função para converter um valor base64:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageResourceGroup": {
      "type": "string"
    },
    "storageAccountName": {
      "type": "string"
    }
  },
  "resources": [],
  "outputs": {
    "ExistingStorage": {
      "type": "object",
      "value": "[reference(resourceId(parameters('storageResourceGroup'), 'Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2021-04-01')]"
    }
  }
}

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
base64Saída String b25lLCB0d28sIHRocmVl
toStringOutput String Um dois três
toJsonOutput Object {"um": "a", "dois": "b"}

base64ToString

base64ToString(base64Value)

Converte uma representação base64 em uma cadeia de caracteres.

No Bicep, use a base64ToString função.

Parâmetros

Parâmetro Necessário Tipo Description
base64Valor Sim cadeia (de caracteres) A representação base64 para converter em uma cadeia de caracteres.

Valor devolvido

Uma cadeia de caracteres do valor base64 convertido.

Exemplos

O exemplo a seguir usa a base64ToString função para converter um valor base64:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageResourceGroup": {
      "type": "string"
    },
    "storageAccountName": {
      "type": "string"
    }
  },
  "resources": [],
  "outputs": {
    "ExistingStorage": {
      "type": "object",
      "value": "[reference(resourceId(parameters('storageResourceGroup'), 'Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2021-04-01')]"
    }
  }
}

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
base64Saída String b25lLCB0d28sIHRocmVl
toStringOutput String Um dois três
toJsonOutput Object {"um": "a", "dois": "b"}

concat

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

Combina vários valores de cadeia de caracteres e retorna a cadeia de caracteres concatenada, ou combina várias matrizes e retorna a matriz concatenada.

No Bicep, use a interpolação de cadeia de caracteres em vez da função para melhorar a concat() legibilidade. No entanto, em alguns casos, como a substituição de cadeia de caracteres em cadeias de caracteres de várias linhas, talvez seja necessário recorrer ao uso da concat() função ou da replace() função.

Parâmetros

Parâmetro Necessário Tipo Description
Arg1 Sim cadeia de caracteres ou matriz A primeira cadeia de caracteres ou matriz para concatenação.
Mais argumentos Não cadeia de caracteres ou matriz Mais cadeias de caracteres ou matrizes em ordem sequencial para concatenação.

Esta função pode aceitar qualquer número de argumentos e pode aceitar cadeias de caracteres ou matrizes para os parâmetros. No entanto, não é possível fornecer matrizes e cadeias de caracteres para parâmetros. As cadeias de caracteres são apenas concatenadas com outras cadeias de caracteres.

Valor devolvido

Uma cadeia de caracteres ou matriz de valores concatenados.

Exemplos

O exemplo a seguir mostra como combinar dois valores de cadeia de caracteres e retornar uma cadeia de caracteres concatenada:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
concatOutput String prefixo-5yj4yjf5mbg72

O exemplo a seguir mostra como combinar duas matrizes:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
regressar Matriz ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"]

contém

contains(container, itemToFind)

Verifica se uma matriz contém um valor, um objeto contém uma chave ou uma cadeia de caracteres contém uma substring. A comparação de cadeia de caracteres diferencia maiúsculas de minúsculas. No entanto, ao testar se um objeto contém uma chave, a comparação não diferencia maiúsculas de minúsculas.

No Bicep, use a contains função.

Parâmetros

Parâmetro Necessário Tipo Description
contentor Sim matriz, objeto ou cadeia de caracteres O valor que contém o valor a ser localizado.
itemToFind Sim string ou int O valor a ser encontrado.

Valor devolvido

True se o item for encontrado; caso contrário, False.

Exemplos

O exemplo a seguir mostra como usar contains com diferentes tipos:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
stringTrue Bool True
stringFalse Bool False
objectTrue Bool True
objectFalse Bool False
arrayTrue Bool True
arrayFalse Bool False

dataUri

dataUri(stringToConvert)

Converte um valor em um URI de dados.

No Bicep, use a dataUri função.

Parâmetros

Parâmetro Necessário Tipo Description
stringToConverter Sim cadeia (de caracteres) O valor a ser convertido em um URI de dados.

Valor devolvido

Uma cadeia de caracteres formatada como um URI de dados.

Exemplos

O exemplo a seguir converte um valor em um URI de dados e um URI de dados em uma cadeia de caracteres:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
dataUriOutput String dados:texto/simples; Charset=UTF8; base64,SGVsbG8=
toStringOutput String Olá, mundo!

dataUriToString

dataUriToString(dataUriToConvert)

Converte um valor formatado de URI de dados em uma cadeia de caracteres.

No Bicep, use a dataUriToString função.

Parâmetros

Parâmetro Necessário Tipo Description
dataUriToConvert Sim cadeia (de caracteres) O valor de URI de dados a ser convertido.

Valor devolvido

Uma cadeia de caracteres que contém o valor convertido.

Exemplos

O modelo de exemplo a seguir converte um valor em um URI de dados e um URI de dados em uma cadeia de caracteres:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
dataUriOutput String dados:texto/simples; Charset=UTF8; base64,SGVsbG8=
toStringOutput String Olá, mundo!

empty

empty(itemToTest)

Determina se uma matriz, objeto ou cadeia de caracteres está vazia.

No Bicep, use a empty função.

Parâmetros

Parâmetro Necessário Tipo Description
itemToTest Sim matriz, objeto ou cadeia de caracteres O valor para verificar se está vazio.

Valor devolvido

Retorna True se o valor estiver vazio; caso contrário, False.

Exemplos

O exemplo a seguir verifica se uma matriz, objeto e cadeia de caracteres estão vazios:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
arrayVazio Bool True
objectEmpty Bool True
stringEmpty Bool True

termina com

endsWith(stringToSearch, stringToFind)

Determina se uma cadeia de caracteres termina com um valor. A comparação não diferencia maiúsculas de minúsculas.

No Bicep, use a endsWith função.

Parâmetros

Parâmetro Necessário Tipo Description
stringToSearch Sim cadeia (de caracteres) O valor que contém o item a ser localizado.
stringToFind Sim cadeia (de caracteres) O valor a ser encontrado.

Valor devolvido

True se o(s) último(s) caractere(s) da cadeia corresponderem ao valor; caso contrário, False.

Exemplos

O exemplo a seguir mostra como usar as startsWith funções 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')]"
    }
  }
}

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
startsTrue Bool True
começaCapTrue Bool True
startsFalse Bool False
FimVerdadeiro Bool True
terminasCapTrue Bool True
terminasFalso Bool False

Primeiro

first(arg1)

Retorna o primeiro caractere da cadeia de caracteres ou o primeiro elemento da matriz. Se uma string vazia for fornecida, a função resultará em uma string vazia. No caso de uma matriz vazia, a função retorna null.

No Bicep, use a first função.

Parâmetros

Parâmetro Necessário Tipo Description
Arg1 Sim matriz ou cadeia de caracteres O valor para recuperar o primeiro elemento ou caractere.

Valor devolvido

Uma cadeia de caracteres do primeiro caractere ou do tipo (string, int, array ou object) do primeiro elemento de uma matriz.

Exemplos

O exemplo a seguir mostra como usar a first função com uma matriz e uma cadeia de caracteres:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
arrayOutput String um
stringOutput String O

format

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

Cria uma cadeia de caracteres formatada a partir de valores de entrada.

No Bicep, use a format função.

Parâmetros

Parâmetro Necessário Tipo Description
formatString Sim cadeia (de caracteres) A cadeia de caracteres de formato composto.
Arg1 Sim string, inteiro ou booleano O valor a ser incluído na cadeia de caracteres formatada.
Mais argumentos Não string, inteiro ou booleano Mais valores para incluir na cadeia de caracteres formatada.

Observações

Use essa função para formatar uma cadeia de caracteres em seu modelo. Ele usa as mesmas opções de formatação que o método System.String.Format no .NET.

Exemplos

O exemplo a seguir mostra como usar a format função:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
formatTest [en] String Olá, Usuário. Número formatado: 8.175.133

guid

guid(baseString, ...)

Cria um valor no formato de um identificador global exclusivo com base nos valores fornecidos como parâmetros.

No Bicep, use a guid função.

Parâmetros

Parâmetro Necessário Tipo Description
baseString Sim cadeia (de caracteres) O valor utilizado na função hash para criar o GUID.
mais parâmetros conforme necessário Não cadeia (de caracteres) Você pode adicionar quantas cadeias de caracteres forem necessárias para criar o valor que especifica o nível de exclusividade.

Observações

Essa função é útil quando você precisa criar um valor no formato de um identificador global exclusivo. Você fornece valores de parâmetro que limitam o escopo de exclusividade para o resultado. Você pode especificar se o nome é exclusivo até assinatura, grupo de recursos ou implantação.

O valor devolvido não é uma cadeia aleatória, mas sim o resultado de uma função hash nos parâmetros. O valor retornado tem 36 caracteres. Não é globalmente único. Para criar um novo GUID que não seja baseado nesse valor de hash dos parâmetros, use a newGuid função.

Os exemplos a seguir mostram como usar guid para criar um valor exclusivo para níveis comumente usados:

Escopo exclusivo para assinatura

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

Escopo exclusivo para grupo de recursos

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

Escopo exclusivo para implantação para um grupo de recursos

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

A guid função implementa o algoritmo do RFC 4122 §4.3. A fonte original pode ser encontrada em GuidUtility com algumas modificações. Na implementação da guid() função, o namespaceId é definido como 11fb06fb-712d-4ddd-98c7-e71bbd588830, e o version é definido como 5. O valor é gerado convertendo cada parâmetro da função em uma cadeia de guid() caracteres e concatenando-os com - como delimitadores.

Valor devolvido

Uma cadeia de caracteres que contém 36 caracteres no formato de um identificador global exclusivo.

Exemplos

O exemplo a seguir retorna resultados de 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)

Retorna a primeira posição de um valor dentro de uma cadeia de caracteres. A comparação não diferencia maiúsculas de minúsculas.

No Bicep, use a indexOf função.

Parâmetros

Parâmetro Necessário Tipo Description
stringToSearch Sim cadeia (de caracteres) O valor que contém o item a ser localizado.
stringToFind Sim cadeia (de caracteres) O valor a ser encontrado.

Valor devolvido

Um inteiro que representa a posição do item a ser localizado. O valor é baseado em zero. Se o item não for encontrado, -1 será devolvido.

Exemplos

O exemplo a seguir mostra como usar as indexOf funções 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')]"
    }
  }
}

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
primeiroT Int 0
Última T Int 3
firstString Int 2
lastString Int 0
notFound Int -1

aderir

join(inputArray, delimiter)

Junta uma matriz de cadeia de caracteres em uma única cadeia de caracteres, separada usando um delimitador.

No Bicep, use a join função.

Parâmetros

Parâmetro Necessário Tipo Description
inputArray Sim matriz da cadeia Uma matriz de cadeia de caracteres para ingressar.
delimitador Sim O delimitador a ser usado para dividir a cadeia de caracteres.

Valor devolvido

Uma cadeia de caracteres.

Exemplos

O exemplo a seguir une a matriz de cadeia de caracteres de entrada em cadeias de caracteres que são delimitadas por delimitadores diferentes:

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

A saída do exemplo anterior é:

Nome Tipo valor
firstOutput String "um, dois, três"
segundoSaída String "um; dois; três"

json

json(arg1)

Converte uma cadeia de caracteres JSON válida em um tipo de dados JSON. Para obter mais informações, consulte json função.

No Bicep, use a json função.

Último

last(arg1)

Retorna o último caractere da cadeia de caracteres ou o último elemento da matriz.

No Bicep, use a last função.

Parâmetros

Parâmetro Necessário Tipo Description
Arg1 Sim matriz ou cadeia de caracteres O valor para recuperar o último elemento ou caractere.

Valor devolvido

Uma cadeia de caracteres do último caractere ou o tipo (string, int, array ou objeto) do último elemento em uma matriz.

Exemplos

O exemplo a seguir mostra como usar a last função com uma matriz e uma cadeia de caracteres:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
arrayOutput String três
stringOutput String e

lastIndexOf

lastIndexOf(stringToSearch, stringToFind)

Retorna a última posição de um valor dentro de uma cadeia de caracteres. A comparação não diferencia maiúsculas de minúsculas.

No Bicep, use a lastIndexOf função.

Parâmetros

Parâmetro Necessário Tipo Description
stringToSearch Sim cadeia (de caracteres) O valor que contém o item a ser localizado.
stringToFind Sim cadeia (de caracteres) O valor a ser encontrado.

Valor devolvido

Um inteiro que representa a última posição do item a ser encontrado. O valor é baseado em zero. Se o item não for encontrado, -1 será devolvido.

Exemplos

O exemplo a seguir mostra como usar as indexOf funções 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')]"
    }
  }
}

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
primeiroT Int 0
Última T Int 3
firstString Int 2
lastString Int 0
notFound Int -1

length

length(string)

Retorna o número de caracteres em uma cadeia de caracteres, elementos em uma matriz ou propriedades de nível raiz em um objeto.

No Bicep, use a length função.

Parâmetros

Parâmetro Necessário Tipo Description
Arg1 Sim matriz, cadeia de caracteres ou objeto A matriz a ser usada para obter o número de elementos, a cadeia de caracteres a ser usada para obter o número de caracteres ou o objeto a ser usado para obter o número de propriedades de nível raiz.

Valor devolvido

Um int.

Exemplos

O exemplo a seguir mostra como usar a length função com uma matriz e uma cadeia de caracteres:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
arrayLength Int 3
stringLength Int 13
objectLength Int 4

newGuid

newGuid()

Retorna um valor no formato de um identificador global exclusivo. Esta função só pode ser usada no valor padrão para um parâmetro.

No Bicep, use a newGuid função.

Observações

Você só pode usar essa função dentro de uma expressão para o valor padrão de um parâmetro. Usar essa função em qualquer outro lugar em um modelo retorna um erro. A função não é permitida em outras partes do modelo porque retorna um valor diferente cada vez que é chamada. Implantar o mesmo modelo com os mesmos parâmetros não produziria os mesmos resultados de forma confiável.

A função newGuid difere da guid função porque não usa nenhum parâmetro. Quando você chama guid com o mesmo parâmetro, ele retorna o mesmo identificador cada vez. Use guid quando precisar gerar de forma confiável o mesmo GUID para um ambiente específico. Use newGuid quando precisar de um identificador diferente a cada vez, como implantar recursos em um ambiente de teste.

A função newGuid usa a estrutura Guid no .NET Framework para gerar o identificador global exclusivo.

Se você usar a opção para reimplantar uma implantação anterior bem-sucedida em que a implantação anterior inclua um parâmetro que usa newGuid, o parâmetro não será avaliado novamente. Em vez disso, a implantação de reversão reutiliza automaticamente o valor do parâmetro da implantação anterior.

Em um ambiente de teste, talvez seja necessário implantar repetidamente recursos que vivem apenas por um curto período de tempo. Em vez de construir nomes exclusivos, você pode usar newGuid com uniqueString para criar nomes exclusivos.

Tenha cuidado ao reimplantar um modelo que depende da newGuid função para um valor padrão. Quando você reimplanta e não fornece um valor para o parâmetro, a função é reavaliada. Se você quiser atualizar um recurso existente em vez de criar um novo, passe o valor do parâmetro da implantação anterior.

Valor devolvido

Uma cadeia de caracteres que contém 36 caracteres no formato de um identificador global exclusivo.

Exemplos

O exemplo a seguir mostra um parâmetro com um novo identificador:

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

A saída do exemplo anterior varia para cada implantação, mas será semelhante a:

Nome Tipo valor
guidOutput cadeia (de caracteres) b76a51fc-bd72-4a77-b9a2-3c29e7d2e551

O exemplo a seguir usa a newGuid função para criar um nome exclusivo para uma conta de armazenamento. Este modelo pode funcionar para um ambiente de teste em que a conta de armazenamento existe por um curto período de tempo e não é implantada novamente:

{
  "$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": "2025-06-01",
      "name": "[variables('storageName')]",
      "location": "West US",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2",
      "properties": {}
    }
  ],
  "outputs": {
    "nameOutput": {
      "type": "string",
      "value": "[variables('storageName')]"
    }
  }
}

A saída do exemplo anterior varia para cada implantação, mas será semelhante a:

Nome Tipo valor
nameOutput cadeia (de caracteres) storagenziwvyru7uxie

padLeft [en]

padLeft(valueToPad, totalLength, paddingCharacter)

Retorna uma cadeia de caracteres alinhada à direita adicionando caracteres à esquerda até atingir o comprimento total especificado.

No Bicep, use a padLeft função.

Parâmetros

Parâmetro Necessário Tipo Description
valorToPad Sim string ou int O valor a ser alinhado à direita.
totalLength Sim número inteiro O número total de caracteres na cadeia de caracteres retornada.
preenchimentoCharacter Não Caractere único O caractere a ser usado para preenchimento à esquerda até que o comprimento total seja atingido. O valor padrão é um espaço.

Se a cadeia de caracteres original for maior do que o número de caracteres a serem preenchidos, nenhum caractere será adicionado.

Valor devolvido

Uma cadeia de caracteres com pelo menos o número de caracteres especificados.

Exemplos

O exemplo a seguir mostra como adicionar o caractere zero até que ele atinja o número total de caracteres para preencher o valor do parâmetro fornecido pelo usuário:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
stringOutput String 0000000123

substituir

replace(originalString, oldString, newString)

Retorna uma nova cadeia de caracteres com todas as instâncias de uma cadeia de caracteres substituídas por outra cadeia de caracteres.

No Bicep, use a replace função.

Parâmetros

Parâmetro Necessário Tipo Description
originalString Sim cadeia (de caracteres) O valor que tem todas as instâncias de uma cadeia de caracteres substituídas por outra cadeia de caracteres.
oldString Sim cadeia (de caracteres) A cadeia de caracteres a ser removida da cadeia de caracteres original.
newString Sim cadeia (de caracteres) A cadeia de caracteres a ser adicionada no lugar da cadeia de caracteres removida.

Valor devolvido

Uma cadeia de caracteres com os caracteres substituídos.

Exemplos

O exemplo a seguir mostra como remover todos os traços de uma cadeia de caracteres fornecida pelo usuário e como substituir parte da cadeia de caracteres por outra:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
firstOutput String 1231231234
segundoSaída String 123-123-xxxx

ignorar

skip(originalValue, numberToSkip)

Retorna uma cadeia de caracteres com todos os caracteres após o número especificado de caracteres ou uma matriz com todos os elementos após o número especificado de elementos.

No Bicep, use a skip função.

Parâmetros

Parâmetro Necessário Tipo Description
originalValor Sim matriz ou cadeia de caracteres A matriz ou cadeia de caracteres a ser usada para ignorar.
númeroToSkip Sim número inteiro O número de elementos ou caracteres a ignorar. Se esse valor for 0 ou menos, todos os elementos ou caracteres no valor serão retornados. Se for maior do que o comprimento da matriz ou cadeia de caracteres, uma matriz ou cadeia de caracteres vazia será retornada.

Valor devolvido

Uma matriz ou cadeia de caracteres.

Exemplos

O exemplo a seguir ignora o número especificado de elementos na matriz e o número especificado de caracteres em uma cadeia de caracteres:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
arrayOutput Matriz ["três"]
stringOutput String dois três

dividir

split(inputString, delimiter)

Retorna uma matriz de cadeias de caracteres que contém as substrings da cadeia de caracteres de entrada que são delimitadas pelos delimitadores especificados.

No Bicep, use a split função.

Parâmetros

Parâmetro Necessário Tipo Description
inputString Sim cadeia (de caracteres) A cadeia de caracteres a ser dividida.
delimitador Sim string ou matriz de strings O delimitador a ser usado para dividir a cadeia de caracteres.

Valor devolvido

Uma matriz de cadeias de caracteres.

Exemplos

O exemplo a seguir divide a cadeia de caracteres de entrada com uma vírgula e a seguinte cadeia de caracteres com uma vírgula ou ponto-e-vírgula:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
firstOutput Matriz ["um", "dois", "três"]
segundoSaída Matriz ["um", "dois", "três"]

começaCom

startsWith(stringToSearch, stringToFind)

Determina se uma cadeia de caracteres começa com um valor. A comparação não diferencia maiúsculas de minúsculas.

No Bicep, use a startsWith função.

Parâmetros

Parâmetro Necessário Tipo Description
stringToSearch Sim cadeia (de caracteres) O valor que contém o item a ser localizado.
stringToFind Sim cadeia (de caracteres) O valor a ser encontrado.

Valor devolvido

True se o(s) primeiro(s) caractere(s) da cadeia corresponderem ao valor; caso contrário, False.

Exemplos

O exemplo a seguir mostra como usar as startsWith funções 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')]"
    }
  }
}

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
startsTrue Bool True
começaCapTrue Bool True
startsFalse Bool False
FimVerdadeiro Bool True
terminasCapTrue Bool True
terminasFalso Bool False

cadeia (de caracteres)

string(valueToConvert)

Converte o valor especificado em uma cadeia de caracteres.

No Bicep, use a string função.

Parâmetros

Parâmetro Necessário Tipo Description
valueToConvert Sim Qualquer O valor a ser convertido em string. Qualquer tipo de valor pode ser convertido, incluindo objetos e matrizes.

Valor devolvido

Uma cadeia de caracteres do valor convertido.

Exemplos

O exemplo a seguir mostra como converter diferentes tipos de valores em cadeias de caracteres:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
objectOutput String {"valueA":10,"valueB":"Texto de exemplo"}
arrayOutput String ["a","b","c"]
intOutput String 5

substring

substring(stringToParse, startIndex, length)

Retorna uma substring que começa na posição de caractere especificada e contém o número especificado de caracteres.

No Bicep, use a substring função.

Parâmetros

Parâmetro Necessário Tipo Description
stringToParse Sim cadeia (de caracteres) A cadeia de caracteres original da qual a substring é extraída.
startIndex Não número inteiro A posição do caractere inicial baseado em zero para a substring.
length Não número inteiro O número de caracteres para a substring. Deve referir-se a um local dentro da cadeia de caracteres. Deve ser zero ou maior. Se omitido, o restante da cadeia de caracteres da posição inicial será retornado.

Valor devolvido

A substring. Ou, uma cadeia de caracteres vazia se o comprimento for zero.

Observações

A função falha quando a substring se estende além do final da cadeia de caracteres ou quando o comprimento é menor que zero. O exemplo a seguir falha com o erro, "Os parâmetros index e length devem se referir a um local dentro da cadeia de caracteres. O parâmetro index: '0', o parâmetro length: '11', o comprimento do parâmetro string: '10'."

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

Exemplos

O exemplo a seguir extrai uma substring de um parâmetro:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
substringOutput String dois

take

take(originalValue, numberToTake)

Retorna uma matriz ou cadeia de caracteres. Uma matriz tem o número especificado de elementos desde o início da matriz. Uma cadeia de caracteres tem o número especificado de caracteres desde o início da cadeia de caracteres.

No Bicep, use a take função.

Parâmetros

Parâmetro Necessário Tipo Description
originalValor Sim matriz ou cadeia de caracteres A matriz ou cadeia de caracteres da qual retirar os elementos.
númeroToTake Sim número inteiro O número de elementos ou caracteres a serem levados. Se esse valor for 0 ou menos, uma matriz ou cadeia de caracteres vazia será retornada. Se for maior do que o comprimento de uma determinada matriz ou cadeia de caracteres, todos os elementos na matriz ou cadeia de caracteres serão retornados.

Valor devolvido

Uma matriz ou cadeia de caracteres.

Exemplos

O exemplo a seguir usa o número especificado de elementos da matriz e caracteres de uma cadeia de caracteres:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
arrayOutput Matriz ["um", "dois"]
stringOutput String em

paraMais baixo

toLower(stringToChange)

Converte a cadeia de caracteres especificada em minúsculas.

No Bicep, use a toLower função.

Parâmetros

Parâmetro Necessário Tipo Description
stringToChange Sim cadeia (de caracteres) O valor a converter em minúsculas.

Valor devolvido

A cadeia de caracteres convertida em minúsculas.

Exemplos

O exemplo a seguir converte um valor de parâmetro em minúsculas e maiúsculas:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
paraLowerOutput String Um dois três
toUpperOutput String UM DOIS TRÊS

toUpper

toUpper(stringToChange)

Converte a cadeia de caracteres especificada em maiúsculas.

No Bicep, use a toUpper função.

Parâmetros

Parâmetro Necessário Tipo Description
stringToChange Sim cadeia (de caracteres) O valor a converter em maiúsculas.

Valor devolvido

A cadeia de caracteres convertida em maiúsculas.

Exemplos

O exemplo a seguir converte um valor de parâmetro em minúsculas e maiúsculas:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
paraLowerOutput String Um dois três
toUpperOutput String UM DOIS TRÊS

cortar

trim(stringToTrim)

Remove todos os caracteres de espaço em branco à esquerda e à direita da cadeia de caracteres especificada.

No Bicep, use a trim função.

Parâmetros

Parâmetro Necessário Tipo Description
stringToTrim Sim cadeia (de caracteres) O valor a ser cortado.

Valor devolvido

A cadeia de caracteres sem caracteres de espaço em branco à esquerda e à direita.

Exemplos

O exemplo a seguir corta caracteres de espaço em branco do parâmetro:

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

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
regressar String Um dois três

uniqueString

uniqueString(baseString, ...)

Cria uma cadeia hash determinista, com base nos valores proporcionados como parâmetros.

No Bicep, use a uniqueString função.

Parâmetros

Parâmetro Necessário Tipo Description
baseString Sim cadeia (de caracteres) O valor utilizado na função hash para criar uma cadeia exclusiva.
mais parâmetros conforme necessário Não cadeia (de caracteres) Você pode adicionar quantas cadeias de caracteres forem necessárias para criar o valor que especifica o nível de exclusividade.

Observações

Essa função é útil quando você precisa criar um nome exclusivo para um recurso. Você fornece valores de parâmetro que limitam o escopo de exclusividade para o resultado. Você pode especificar se o nome é exclusivo até assinatura, grupo de recursos ou implantação.

O valor retornado não é uma cadeia de caracteres aleatória, mas sim o resultado de uma função hash. O valor retornado tem 13 caracteres. Não é globalmente único. Talvez você queira combinar o valor com um prefixo da sua convenção de nomenclatura para criar um nome que seja significativo. O exemplo a seguir mostra o formato do valor retornado. O valor real varia de acordo com os parâmetros fornecidos.

tcvhiyu5h2o5o

Os exemplos a seguir mostram como usar uniqueString para criar um valor exclusivo para níveis comumente usados:

Escopo exclusivo para assinatura

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

Escopo exclusivo para grupo de recursos

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

Escopo exclusivo para implantação para um grupo de recursos

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

O exemplo a seguir mostra como criar um nome exclusivo para uma conta de armazenamento com base no seu grupo de recursos. Dentro do grupo de recursos, o nome não é exclusivo se for construído da mesma maneira:

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

Se você precisar criar um novo nome exclusivo cada vez que implantar um modelo e não pretender atualizar o recurso, poderá usar a utcNow função com uniqueString. Você pode usar essa abordagem em um ambiente de teste. Para obter um exemplo, consulte utcNow.

Valor devolvido

Uma cadeia de caracteres contendo 13 caracteres.

Exemplos

O exemplo a seguir retorna resultados de 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)

Cria um URI absoluto combinando o baseUri e a cadeia de caracteres relativeUri.

No Bicep, use a uri função.

Parâmetros

Parâmetro Necessário Tipo Description
baseUri Sim cadeia (de caracteres) A cadeia de caracteres uri base. Tome cuidado para observar o comportamento sobre o manuseio da barra à direita (/), conforme descrito nesta tabela.
parenteUri Sim cadeia (de caracteres) A cadeia de caracteres de uri relativa a ser adicionada à cadeia de caracteres de uri de base.
  • Se baseUri terminar com uma barra à direita, o resultado é simplesmente baseUri seguido por relativeUri. Se relativeUri também começar com uma barra à esquerda, a barra à direita e a barra à esquerda serão combinadas numa só.

  • Se baseUri não terminar em uma barra à direita, uma das duas coisas acontece.

    • Se baseUri não tiver nenhuma barra (exceto a // próxima da frente) o resultado é baseUri seguido por relativeUri.

    • Se baseUri tiver algumas barras, mas não terminar com uma barra, tudo, desde a última barra em diante, é removido e baseUri o resultado é baseUri seguido por relativeUri.

Seguem-se alguns exemplos:

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

Para obter detalhes completos, os baseUri parâmetros e relativeUri são resolvidos, conforme especificado na RFC 3986, seção 5.

Valor devolvido

Uma cadeia de caracteres que representa o URI absoluto para os valores base e relativo.

Exemplos

O exemplo a seguir mostra como construir um link para um modelo aninhado com base no valor do modelo pai:

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

O modelo de exemplo a seguir mostra como usar 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'))]"
    }
  }
}

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
uriOutput String http://contoso.com/resources/nested/azuredeploy.json
componentOutput String http%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.json
toStringOutput String http://contoso.com/resources/nested/azuredeploy.json

uriComponent

uricomponent(stringToEncode)

Codifica um URI.

No Bicep, use a uriComponent função.

Parâmetros

Parâmetro Necessário Tipo Description
stringToEncode Sim cadeia (de caracteres) O valor a ser codificado.

Valor devolvido

Uma cadeia de caracteres do valor codificado por URI.

Exemplos

O modelo de exemplo a seguir mostra como usar 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'))]"
    }
  }
}

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
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)

Retorna uma cadeia de caracteres de um valor codificado por URI.

No Bicep, use a uriComponentToString função.

Parâmetros

Parâmetro Necessário Tipo Description
uriEncodedString Sim cadeia (de caracteres) O valor codificado de URI para converter em uma cadeia de caracteres.

Valor devolvido

Uma cadeia de caracteres decodificada de valor codificado por URI.

Exemplos

O exemplo a seguir mostra como usar 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'))]"
    }
  }
}

A saída dos valores padrão do exemplo anterior é:

Nome Tipo valor
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

Próximos passos