Compartilhar via


Funções de cadeia de caracteres para modelos do ARM

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

Dica

O Bicep é recomendado, pois oferece os mesmos recursos que os modelos do ARM e a sintaxe é mais fácil de usar. Para saber mais, confira 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 Obrigatório Tipo Descrição
inputString Sim cadeia O valor a retornar como uma representação base64.

Retornar valor

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

Exemplos

O exemplo a seguir mostra como usar a função 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
base64Output String b25lLCB0d28sIHRocmVl
toStringOutput String um, dois, três
toJsonOutput Objeto {"one": "a", "two": "b"}

base64ToJson

base64ToJson(base64Value)

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

No Bicep, use a base64ToJson função.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
base64Value Sim cadeia A representação base64 a ser convertida em um objeto JSON.

Retornar valor

Um objeto JSON.

Exemplos

O seguinte exemplo usa a função base64ToJson 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
base64Output String b25lLCB0d28sIHRocmVl
toStringOutput String um, dois, três
toJsonOutput Objeto {"one": "a", "two": "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 Obrigatório Tipo Descrição
base64Value Sim cadeia A representação base64 a ser convertida em uma cadeia de caracteres.

Retornar valor

Uma cadeia de caracteres do valor base64 convertido.

Exemplos

O seguinte exemplo usa a função base64ToString 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
base64Output String b25lLCB0d28sIHRocmVl
toStringOutput String um, dois, três
toJsonOutput Objeto {"one": "a", "two": "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 concat() para melhorar a 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 fazer fallback usando a concat() função ou a replace() função.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
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 Cadeias de caracteres ou matrizes adicionais em ordem sequencial para concatenação.

Essa função pode usar qualquer número de argumentos e pode aceitar cadeias de caracteres ou matrizes para os parâmetros. No entanto, você não pode apresentar cadeias de caracteres e matrizes para parâmetros. Só é possível concatenar cadeias de caracteres com outras cadeias de caracteres.

Retornar valor

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 prefix-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
return Array ["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 subcadeia de caracteres. 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 Obrigatório Tipo Descrição
contêiner Sim matriz, objeto ou cadeia de caracteres O valor que contém o valor a ser encontrado.
itemToFind Sim cadeia de caracteres ou inteiro O valor a ser encontrado.

Retornar valor

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

Exemplos

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

{
  "$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 Falso
objectTrue Bool True
objectFalse Bool Falso
arrayTrue Bool True
arrayFalse Bool Falso

dataUri

dataUri(stringToConvert)

Converte um valor em um URI de dados.

No Bicep, use a dataUri função.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
stringToConvert Sim cadeia O valor a ser convertido em um URI de dados.

Retornar valor

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 data:text/plain;charset=utf8;base64,SGVsbG8=
toStringOutput String Olá, mundo!

dataUriToString

dataUriToString(dataUriToConvert)

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

No Bicep, use a dataUriToString função.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
dataUriToConvert Sim cadeia Os valor de URI de dados a ser convertido.

Retornar valor

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 data:text/plain;charset=utf8;base64,SGVsbG8=
toStringOutput String Olá, mundo!

vazio

empty(itemToTest)

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

No Bicep, use a empty função.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
itemToTest Sim matriz, objeto ou cadeia de caracteres O valor a ser verificado, caso esteja vazio.

Retornar valor

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

Exemplos

O exemplo a seguir verifica se uma matriz, um objeto e uma 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
arrayEmpty Bool True
objectEmpty Bool True
stringEmpty Bool True

endsWith

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 Obrigatório Tipo Descrição
stringToSearch Sim cadeia O valor que contém o item a ser encontrado.
stringToFind Sim cadeia O valor a ser encontrado.

Retornar valor

True se o último caractere ou caracteres da cadeia de caracteres corresponderem ao valor; caso contrário, False.

Exemplos

O exemplo a seguir mostra como usar as funções startsWith e endsWith:

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

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

Nome Tipo Valor
startsTrue Bool True
startsCapTrue Bool True
startsFalse Bool Falso
endsTrue Bool True
endsCapTrue Bool True
endsFalse Bool Falso

first

first(arg1)

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

No Bicep, use a first função.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
arg1 Sim matriz ou cadeia de caracteres O valor para recuperar o primeiro elemento ou caractere.

Retornar valor

Uma cadeia de caracteres do primeiro caractere ou do tipo (cadeia de caracteres, int, matriz ou objeto) do primeiro elemento em 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 one
stringOutput String O

format

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

Cria uma cadeia de caracteres formatada com base em valores de entrada.

No Bicep, use a format função.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
formatString Sim cadeia A cadeia de caracteres de formato de composição.
arg1 Sim cadeia de caracteres, inteiro ou booliano O valor a ser incluído na cadeia de caracteres formatada.
mais argumentos Não cadeia de caracteres, inteiro ou booliano Valores adicionais a serem incluídos na cadeia de caracteres formatada.

Comentários

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

Exemplos

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

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "greeting": {
      "type": "string",
      "defaultValue": "Hello"
    },
    "name": {
      "type": "string",
      "defaultValue": "User"
    },
    "numberToFormat": {
      "type": "int",
      "defaultValue": 8175133
    }
  },
  "resources": [
  ],
  "outputs": {
    "formatTest": {
      "type": "string",
      "value": "[format('{0}, {1}. Formatted number: {2:N0}', parameters('greeting'), parameters('name'), parameters('numberToFormat'))]"
    }
  }
}

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

Nome Tipo Valor
formatTest 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 Obrigatório Tipo Descrição
baseString Sim cadeia O valor usado na função de hash para criar o GUID.
parâmetros extras conforme necessário Não cadeia Você pode adicionar quantas cadeias de caracteres forem necessárias para criar o valor que especifica o nível de exclusividade.

Comentários

Essa função é útil quando você precisa criar um valor no formato de um identificador global exclusivo. Você fornece valores de parâmetros que limitam o escopo de exclusividade para o resultado. Você pode especificar se o nome é exclusivo para 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 de hash nos parâmetros. O valor retornado tem 36 caracteres. Ele não é globalmente exclusivo. Para criar um 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 a assinatura

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

Escopo exclusivo para o grupo de recursos

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

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

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

A função guid implementa o algoritmo de 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 guid() função em uma string e concatenando-os com - delimitadores.

Retornar valor

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

Exemplos

O exemplo a seguir retorna os 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 em 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 Obrigatório Tipo Descrição
stringToSearch Sim cadeia O valor que contém o item a ser encontrado.
stringToFind Sim cadeia O valor a ser encontrado.

Retornar valor

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

Exemplos

O exemplo a seguir mostra como usar as funções indexOf e lastIndexOf:

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

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

Nome Tipo Valor
firstT int 0
lastT int 3
firstString int 2
lastString int 0
NotFound int -1

ingressar

join(inputArray, delimiter)

Une uma matriz de cadeia de caracteres em uma só cadeia de caracteres, separada usando um delimitador.

No Bicep, use a join função.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
inputArray Sim matriz de cadeias de caracteres Uma matriz de cadeias de caracteres a serem unidas.
delimitador Sim O delimitador a ser usado para dividir a cadeia de caracteres.

Retornar valor

Uma cadeia de caracteres.

Exemplos

O exemplo a seguir une a matriz de cadeia de caracteres de entrada em cadeias de caracteres 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'), ';')]"
    }
  }
}

O resultado do exemplo anterior é:

Nome Tipo Valor
firstOutput String "one,two,three"
secondOutput String "one;two;three"

json

json(arg1)

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

No Bicep, use a json função.

last

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 Obrigatório Tipo Descrição
arg1 Sim matriz ou cadeia de caracteres O valor para recuperar o último elemento ou caractere.

Retornar valor

Uma cadeia de caracteres do último caractere ou o tipo (cadeia de caracteres, inteiro, matriz 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 em 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 Obrigatório Tipo Descrição
stringToSearch Sim cadeia O valor que contém o item a ser encontrado.
stringToFind Sim cadeia O valor a ser encontrado.

Retornar valor

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á retornado.

Exemplos

O exemplo a seguir mostra como usar as funções indexOf e lastIndexOf:

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

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

Nome Tipo Valor
firstT int 0
lastT int 3
firstString int 2
lastString int 0
NotFound int -1

comprimento

length(string)

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

No Bicep, use a length função.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
arg1 Sim matriz, cadeia de caracteres ou objeto A matriz usada para obter o número de elementos, a cadeia de caracteres usada para obter o número de caracteres ou o objeto usado para obter o número de propriedades em nível raiz.

Retornar valor

Um inteiro.

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. Só é possível usar essa função no valor padrão de um parâmetro.

No Bicep, use a newGuid função.

Comentários

Você só pode usar essa função em uma expressão do valor padrão de um parâmetro. O uso dela em qualquer outro lugar de um modelo retorna um erro. A função não é permitida em outras partes do modelo porque ela retorna um valor diferente cada vez que é chamada. Implantar o mesmo modelo com os mesmos parâmetros não produziria os mesmos resultados com confiança.

A função newGuid difere da guid função porque não usa parâmetros. Quando você chama a função guid com o mesmo parâmetro, ela sempre retorna o mesmo identificador. Use a guid quando precisar gerar a mesma GUID com confiança para um ambiente específico. Use a newGuid quando precisar de um identificador diferente a cada vez, como ao implantar recursos em um ambiente de teste.

A função newGuid usa a Estrutura de GUID do .NET Framework para gerar o identificador global exclusivo.

Se você usar a opção para reimplantar uma implantação bem-sucedida anterior , em que a implantação anterior inclui 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 os recursos que só duram um curto período. Em vez de construir nomes exclusivos, você pode usar newGuid 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 informa um valor para o parâmetro, a função é reavaliada. Se você quiser atualizar um recurso existente em vez de criar um, informe o valor do parâmetro da implantação anterior.

Retornar valor

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 de acordo com cada implantação, mas será semelhante a:

Nome Tipo Valor
guidOutput cadeia b76a51fc-bd72-4a77-b9a2-3c29e7d2e551

O exemplo a seguir usa a função newGuid para criar um nome exclusivo para uma conta de armazenamento. Esse modelo pode funcionar para o ambiente de teste em que a conta de armazenamento existe por um curto período de tempo e não é implantado 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 de acordo com cada implantação, mas será semelhante a:

Nome Tipo Valor
nameOutput cadeia storagenziwvyru7uxie

padLeft

padLeft(valueToPad, totalLength, paddingCharacter)

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

No Bicep, use a padLeft função.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
valueToPad Sim cadeia de caracteres ou inteiro O valor para alinhar à direita.
totalLength Sim INT O número total de caracteres na cadeia de caracteres retornada.
paddingCharacter Não caractere único O caractere a ser usado para o preenchimento à esquerda até que o tamanho total seja atingido. O valor padrão é um espaço.

Se a cadeia de caracteres original for mais longa que o número de caracteres a ser preenchido, nenhum caractere será adicionado.

Retornar valor

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

Exemplos

O exemplo a seguir mostra como adicionar o caractere zero até atingir o número total de caracteres para conter 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 Obrigatório Tipo Descrição
originalString Sim cadeia O valor que tem todas as instâncias de uma cadeia de caracteres substituídas por outra cadeia de caracteres.
oldString Sim cadeia A cadeia de caractere a ser removida da cadeia de caracteres original.
newString Sim cadeia A cadeia de caracteres a ser adicionada no lugar da cadeia removida.

Retornar valor

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
secondOutput 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 Obrigatório Tipo Descrição
originalValue Sim matriz ou cadeia de caracteres A matriz ou cadeia de caracteres a ser usada para ignorar.
numberToSkip Sim INT O número de elementos ou caracteres a ser ignorado. Se esse valor for 0 ou menos, todos os elementos ou caracteres no valor serão retornados. Se ele for maior que o tamanho da matriz ou da cadeia de caracteres, uma matriz ou uma cadeia de caracteres vazia será retornada.

Retornar valor

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 Array ["three"]
stringOutput String dois três

dividir

split(inputString, delimiter)

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

No Bicep, use a split função.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
inputString Sim cadeia A cadeia de caracteres a dividir.
delimitador Sim cadeia de caracteres ou matriz de cadeias de caracteres O delimitador a ser usado para dividir a cadeia de caracteres.

Retornar valor

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 um 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 Array ["um", "dois", "três"]
secondOutput Array ["um", "dois", "três"]

startsWith

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 Obrigatório Tipo Descrição
stringToSearch Sim cadeia O valor que contém o item a ser encontrado.
stringToFind Sim cadeia O valor a ser encontrado.

Retornar valor

True se o primeiro caractere ou caracteres da cadeia de caracteres corresponderem ao valor; caso contrário, False.

Exemplos

O exemplo a seguir mostra como usar as funções startsWith e endsWith:

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

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

Nome Tipo Valor
startsTrue Bool True
startsCapTrue Bool True
startsFalse Bool Falso
endsTrue Bool True
endsCapTrue Bool True
endsFalse Bool Falso

cadeia

string(valueToConvert)

Converte o valor especificado em uma cadeia de caracteres.

No Bicep, use a string função.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
valueToConvert Sim Qualquer O valor a ser convertido em cadeia de caracteres. Qualquer tipo de valor pode ser convertido, incluindo objetos e matrizes.

Retornar valor

Uma cadeia de caracteres do valor convertido.

Exemplos

O seguinte exemplo 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":"Example Text"}
arrayOutput String ["a","b","c"]
intOutput String 5

substring

substring(stringToParse, startIndex, length)

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

No Bicep, use a substring função.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
stringToParse Sim cadeia A cadeia original da qual a subcadeia de caracteres é extraída.
startIndex Não INT A posição inicial do caractere baseada em zero para a subcadeia de caracteres.
comprimento Não INT O número de caracteres para a subcadeia de caracteres. Deve se referir a uma localização dentro da cadeia de caracteres. Deve ser zero ou maior. Se omitido, o restante da cadeia de caracteres da posição inicial será retornado.

Retornar valor

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

Comentários

A função falhará quando a subcadeia de caracteres ultrapassar o final da cadeia de caracteres, ou quando o comprimento for menor que zero. O exemplo a seguir falha com o erro: "Os parâmetros de índice e comprimento devem se referir a um local dentro da cadeia de caracteres. O parâmetro de índice: '0', o parâmetro de comprimento: '11', o comprimento do parâmetro de cadeia de caracteres: '10'."

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

Exemplos

O exemplo a seguir extrai uma subcadeia de caracteres 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 de cadeias de caracteres. Uma matriz com o número especificado de elementos desde o início da matriz. Uma cadeia de caracteres com o número especificado de caracteres no início da cadeia.

No Bicep, use a take função.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
originalValue Sim matriz ou cadeia de caracteres A matriz ou cadeia de caracteres da qual extrair os elementos.
numberToTake Sim INT O número de elementos ou caracteres a ser extraído. Se esse valor for 0 ou menos, uma matriz ou cadeia de caracteres vazia será retornada. Se ele for maior que o tamanho da matriz ou da cadeia de caracteres especificada, todos os elementos da matriz ou da cadeia de caracteres serão retornados.

Retornar valor

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 Array ["um", "dois"]
stringOutput String on

toLower

toLower(stringToChange)

Converte a cadeia de caracteres especificada em letras minúsculas.

No Bicep, use a toLower função.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
stringToChange Sim cadeia O valor a ser convertido em letras minúsculas.

Retornar valor

A cadeia de caracteres convertida em minúsculas.

Exemplos

O exemplo a seguir converte um valor de parâmetro em letras 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
toLowerOutput 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 Obrigatório Tipo Descrição
stringToChange Sim cadeia O valor a ser convertido em letras maiúsculas.

Retornar valor

A cadeia de caracteres convertida em maiúsculas.

Exemplos

O exemplo a seguir converte um valor de parâmetro em letras 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
toLowerOutput 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 Obrigatório Tipo Descrição
stringToTrim Sim cadeia O valor de corte.

Retornar valor

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
return String um dois três

uniqueString

uniqueString(baseString, ...)

Cria uma cadeia de caracteres de hash determinístico com base nos valores fornecidos como parâmetros.

No Bicep, use a uniqueString função.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
baseString Sim cadeia O valor usado na função de hash para criar uma cadeia de caracteres exclusiva.
parâmetros extras conforme necessário Não cadeia Você pode adicionar quantas cadeias de caracteres forem necessárias para criar o valor que especifica o nível de exclusividade.

Comentários

Essa função é útil quando você precisa criar um nome exclusivo para um recurso. Você fornece valores de parâmetros que limitam o escopo de exclusividade para o resultado. Você pode especificar se o nome é exclusivo para 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 de hash. O valor retornado tem 13 caracteres. Ele não é globalmente exclusivo. Talvez você queira combinar o valor com um prefixo da convenção de nomenclatura para criar um nome significativo. O exemplo a seguir mostra o formato do valor retornado. O valor real poderá variar 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 a assinatura

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

Escopo exclusivo para o grupo de recursos

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

Escopo exclusivo para a implantação de 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 em seu grupo de recursos. Dentro do grupo de recursos, o nome não será 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 sempre que implantar um modelo e não pretende 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.

Retornar valor

Uma cadeia de caracteres que contém 13 caracteres.

Exemplos

O exemplo a seguir retorna os 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 Obrigatório Tipo Descrição
baseUri Sim cadeia Cadeia de caracteres do URI de base. Observe com cuidado o comportamento em relação ao manuseio da barra à direita (/), conforme descrito após esta tabela.
relativeUri Sim cadeia Cadeia de caracteres de uri relativo para adicionar a cadeia de caracteres do 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 em uma.

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

    • Se baseUri não tiver nenhuma barra (além da // frente), o resultado será baseUri seguido por relativeUri.

    • Se baseUri tiver algumas barras, mas não terminar com uma barra, tudo, a partir da última barra, será removido e baseUri o resultado será baseUri seguido por relativeUri.

Estes são 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 parâmetros e os parâmetros relativeUri são resolvidos, conforme especificado no RFC 3986, seção 5.baseUri

Retornar valor

Uma cadeia de caracteres que representa o URI absoluto dos valores base e relativos.

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

{
  "$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 Obrigatório Tipo Descrição
stringToEncode Sim cadeia O valor a ser codificado.

Retornar valor

Uma cadeia de caracteres do valor codificado em URI.

Exemplos

O modelo de exemplo a seguir mostra como usar urieuriComponenturiComponentToString:

{
  "$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 em URI.

No Bicep, use a uriComponentToString função.

Parâmetros

Parâmetro Obrigatório Tipo Descrição
uriEncodedString Sim cadeia O valor codificado em URI a ser convertido em uma cadeia de caracteres.

Retornar valor

Uma cadeia de caracteres decodificada de valores codificados em URI.

Exemplos

O exemplo a seguir mostra como usar urieuriComponenturiComponentToString:

{
  "$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óximas etapas