Guia de referência para funções de expressão do fluxo de trabalho nos Aplicativos Lógicos do Azure e Power Automate

Aplica-se a: Aplicativos Lógicos do Azure (Consumo + Padrão)

Para as definições de fluxo de trabalho nos Aplicativos Lógicos do Azure e no Power Automate, algumas expressões obtêm os respectivos valores das ações de runtime que poderão ainda não existir quando o fluxo de trabalho começar a ser executado. Para referenciar ou processar os valores nessas expressões, use as funções de expressão fornecidas pela Linguagem de Definição de Fluxo de Trabalho.

Observação

Essa página de referência se aplica aos Aplicativos Lógicos do Azure e ao Power Automate, mas aparece na documentação dos Aplicativos Lógicos do Azure. Embora essa página se refira especificamente a fluxos de trabalho de aplicativos lógicos, as funções se aplicam aos fluxos e aos aplicativos lógicos. Para obter mais informações sobre as funções e as expressões do Power Automate, revise Usar expressões em condições.

Por exemplo, você pode calcular valores usando funções matemáticas, como a função add(), quando deseja obter a soma de inteiros ou floats. Veja outros exemplos de tarefas que podem ser executadas com funções:

Tarefa Sintaxe da função Result
Retornar uma cadeia de caracteres em letras minúsculas. toLower('texto>'<)

Por exemplo: toLower('Hello')
"hello"
Retornar um GUID (identificador global exclusivo). guid() "c2ecc88d-88c8-4096-912c-d6f2e2b138ce"

Para encontrar funções com base no uso geral, examine as tabelas a seguir. Ou, para obter informações detalhadas sobre cada função, consulte a lista alfabética.

Funções em expressões

Para mostrar como usar uma função em uma expressão, este exemplo demonstra como é possível obter o valor do customerName parâmetro e atribuir esse valor à propriedade accountName usando a função parameters() em uma expressão:

"accountName": "@parameters('customerName')"

Estas são algumas outras maneiras de usar funções em expressões:

Tarefa Sintaxe da função em uma expressão
Executar o trabalho com um item passando esse item para uma função. "@<functionName>(<item>)"
1. Obter o valor de parameterName usando a função parameters() aninhada.
2. Executar o trabalho com o resultado passando esse valor para functionName.
"@<functionName>(parameters('<parameterName>'))"
1. Obter o resultado da função interna aninhada functionName.
2. Passar o resultado para a função externa functionName2.
"@<functionName2>(<functionName>(<item>))"
1. Obter o resultado de functionName.
2. Dado que o resultado é um objeto com a propriedade propertyName, obter o valor dessa propriedade.
"@<functionName>(<item>).<propertyName>"

Por exemplo, a função concat() pode usar dois ou mais valores de cadeia de caracteres como parâmetros. Essa função combina essas cadeias de caracteres em uma única cadeia de caracteres. Você pode transmitir literais de cadeia de caracteres, por exemplo, "Sophia" e "Owen", para obter uma cadeia de caracteres combinada, "SophiaOwen":

"customerName": "@concat('Sophia', 'Owen')"

Ou pode obter valores de cadeia de caracteres usando parâmetros. Este exemplo usa a função parameters() em cada parâmetro concat() e os parâmetros firstName e lastName. Em seguida, passe as cadeias de caracteres resultantes para a função concat() para obter uma cadeia de caracteres combinada, por exemplo, "SophiaOwen":

"customerName": "@concat(parameters('firstName'), parameters('lastName'))"

De qualquer forma, os dois exemplos atribuem o resultado à propriedade customerName.

Considerações ao usar funções

  • O designer não avalia expressões de runtime que são usadas como parâmetros de função no tempo de design. O designer requer que todas as expressões possam ser totalmente avaliadas no tempo de design.

  • Os parâmetros de função são avaliados da esquerda para a direita.

  • Na sintaxe das definições de parâmetro, um ponto de interrogação (?) exibido após um parâmetro significa que ele é opcional. Por exemplo, consulte getFutureTime().

  • As expressões de função que aparecem embutidas com texto sem formatação exigem chaves de circunscrição ({}) para usar o formato interpolado da expressão. Esse formato ajuda a evitar a análise de problemas. Se sua expressão de função não aparecer embutida em texto sem formatação, nenhuma chave será necessária.

    O seguinte exemplo mostra a sintaxe correta e incorreta:

    Correto: "<text>/@{<function-name>('<parameter-name>')}/<text>"

    Incorreto: "<text>/@<function-name>('<parameter-name>')/<text>"

    OK: "@<function-name>('<parameter-name>')"

As seções a seguir organizam as funções com base no uso geral ou então, você pode procurá-las em ordem alfabética.

Funções de cadeia de caracteres

Para trabalhar com cadeias de caracteres, você pode usar essas funções de cadeia de caracteres e algumas funções de coleta. Funções de cadeia de caracteres só funcionam com cadeias de caracteres.

Função de cadeia de caracteres Tarefa
chunk Dividir uma cadeia de caracteres ou uma coleção em partes de comprimento igual.
concat Combinar duas ou mais cadeias de caracteres e retornar a cadeia de caracteres combinada.
endsWith Verificar se uma cadeia de caracteres termina com a subcadeia de caracteres especificada.
formatNumber Retorna um número como uma cadeia de caracteres com base no formato especificado
guid Gerar um GUID (identificador global exclusivo) como uma cadeia de caracteres.
indexOf Retornar a posição inicial de uma subcadeia de caracteres.
isFloat Retornar um booliano que indica se uma cadeia de caracteres é um número de ponto flutuante.
isInt Retornar um booliano que indica se uma cadeia de caracteres é um inteiro.
lastIndexOf Retorna a posição inicial da última ocorrência de uma subcadeia de caracteres.
length Retornar o número de itens em uma cadeia de caracteres ou matriz.
nthIndexOf Retorna a posição inicial ou o valor de índice em que a n-ésima ocorrência de uma subcadeia de caracteres aparece em uma cadeia de caracteres.
substitui Substituir uma subcadeia de caracteres pela cadeia de caracteres especificada e retornar a cadeia de caracteres atualizada.
slice Retorna uma subcadeia de caracteres especificando a posição inicial e final ou o valor. Consulte também substring.
split Retorna uma matriz contendo subcadeias de caracteres, separadas por vírgulas, de uma cadeia de caracteres maior baseada em um caractere delimitador especificado na cadeia de caracteres original.
startsWith Verificar se uma cadeia de caracteres começa com uma subcadeia de caracteres específica.
substring Retornar caracteres de uma cadeia de caracteres, começando na posição especificada. Consulte também slice.
toLower Retornar uma cadeia de caracteres em letras minúsculas.
toUpper Retornar uma cadeia de caracteres em letras maiúsculas.
cortar Remover espaços em branco à esquerda e à direita de uma cadeia de caracteres e retornar a cadeia de caracteres atualizada.

Funções de coleção

Para trabalhar com coleções, matrizes em geral, cadeias de caracteres e, às vezes, dicionários, você pode usar estas funções de coleção.

Função de coleção Tarefa
chunk Dividir uma cadeia de caracteres ou uma coleção em partes de comprimento igual.
contains Verificar se uma coleção tem um item específico.
empty Verifique se uma coleção está vazia.
first Retornar o primeiro item de uma coleção.
intersection Retornar uma coleção que tem somente os itens comuns entre as coleções especificadas.
item Se essa função aparece dentro de uma ação repetida em uma matriz, retornará o item atual na matriz durante a iteração atual da ação.
join Retornar uma cadeia de caracteres que tem todos os itens de uma matriz, separados pelo caractere especificado.
last Retornar o último item de uma coleção.
length Retornar o número de itens em uma cadeia de caracteres ou matriz.
reverse Inverter a ordem dos itens em uma matriz.
skip Remover itens do início de uma coleção e retornar todos os outros itens.
sort Classificar itens de uma coleção.
take Retornar itens do início de uma coleção.
union Retornar uma coleção que tem todos os itens das coleções especificadas.

Funções de comparação lógica

Para trabalhar com condições, comparar valores e resultados de expressão ou avaliar vários tipos de lógica, é possível usar essas funções de comparação lógica. Para a referência completa sobre cada função, consulte a lista alfabética.

Observação

Se você usar funções lógicas ou condições para comparar valores, os valores nulos serão convertidos em valores de cadeia de caracteres vazia (""). O comportamento das condições é diferente quando você compara com uma cadeia de caracteres vazia em vez de um valor nulo. Para obter mais informações, confira a função de cadeia de caracteres().

Função de comparação lógica Tarefa
and Verificar se todas as expressões são verdadeiras.
equals Verificar se os dois valores são equivalentes.
greater Verificar se o primeiro valor é maior que o segundo valor.
greaterOrEquals Verificar se o primeiro valor é superior ou igual ao segundo.
if Verificar se uma expressão é verdadeira ou falsa. Com base no resultado, retornar um valor especificado.
isFloat Retornar um booliano que indica se uma cadeia de caracteres é um número de ponto flutuante.
isInt Retornar um booliano que indica se uma cadeia de caracteres é um inteiro.
less Verificar se o primeiro valor é menor que o segundo valor.
lessOrEquals Verificar se o primeiro valor é inferior ou igual ao segundo valor.
not Verificar se uma expressão é falsa.
or Verificar se pelo menos uma expressão é verdadeira.

Funções de conversão

Para alterar o tipo ou o formato de um valor, você pode usar estas funções de conversão. Por exemplo, é possível alterar um valor de booliano para inteiro. Para obter mais informações sobre como os Aplicativos Lógicos do Azure tratam os tipos de conteúdo durante a conversão, confira Tratar tipos de conteúdo. Para a referência completa sobre cada função, consulte a lista alfabética.

Observação

Os Aplicativos Lógicos do Azure executam automática ou implicitamente a codificação e a decodificação base64, de modo que você não precisa executar essas conversões manualmente usando as funções de codificação e decodificação. No entanto, se você usar essas funções de qualquer forma no designer, poderá experimentar comportamentos de renderização inesperados no designer. Esses comportamentos afetam apenas a visibilidade das funções e não seu efeito, a menos que você edite os valores de parâmetro das funções, o que remove as funções e seus efeitos do código. Para obter mais informações, confira Conversões implícitas de tipos de dados.

Função de conversão Tarefa
array Retornar uma matriz de uma única entrada especificada. Para várias entradas, confira createArray.
base64 Retornar a versão codificada em Base64 de uma cadeia de caracteres.
base64ToBinary Retornar a versão binária de uma cadeia de caracteres codificada em Base64.
base64ToString Retornar a versão de cadeia de caracteres de uma cadeia de caracteres codificada em Base64.
binary Retornar a versão binária de um valor de entrada.
bool Retornar a versão booliana de um valor de entrada.
createArray Retornar uma matriz de várias entradas.
dataUri Retornar o URI de dados de um valor de entrada.
dataUriToBinary Retornar a versão binária de um URI de dados.
dataUriToString Retornar a versão de cadeia de caracteres de um URI de dados.
decimal Retornar o número decimal de uma cadeia de caracteres decimal.
decodeBase64 Retornar a versão de cadeia de caracteres de uma cadeia de caracteres codificada em Base64.
decodeDataUri Retornar a versão binária de um URI de dados.
decodeUriComponent Retornar uma cadeia de caracteres que substitui caracteres de escape por versões decodificadas.
encodeUriComponent Retornar uma cadeia de caracteres que substitui caracteres não seguros para URL por caracteres de escape.
float Retornar um número de ponto flutuante correspondente a um valor de entrada.
int Retornar a versão em inteiros de uma cadeia de caracteres.
json Retornar o objeto ou valor de tipo JSON (JavaScript Object Notation) correspondente a uma cadeia de caracteres ou XML.
cadeia de caracteres Retornar a versão de cadeia de caracteres de um valor de entrada.
uriComponent Retornar a versão codificada para URI correspondente a um valor de entrada substituindo caracteres não seguros para URL por caracteres de escape.
uriComponentToBinary Retornar a versão binária de uma cadeia de caracteres codificada como URI.
uriComponentToString Retornar a versão de cadeia de caracteres correspondente a uma cadeia de caracteres codificada como URI.
xml Retornar a versão XML de uma cadeia de caracteres.

Conversões implícitas de tipo de dados

Os Aplicativos Lógicos do Azure convertem automática ou implicitamente alguns tipos de dados, de modo que você não precise executar essas conversões manualmente. Por exemplo, se você usar valores que não são de cadeia de caracteres, em que as cadeias são esperadas como entradas, os Aplicativos Lógicos do Azure converterão automaticamente os valores de não cadeia de caracteres em cadeias de caracteres.

Por exemplo, suponha que um gatilho retorne um valor numérico como a saída:

triggerBody()?['123']

Se você usar essa saída numérica, em que a entrada de cadeia de caracteres é esperada, como uma URL, os Aplicativos Lógicos do Azure converterão automaticamente o valor em uma cadeia de caracteres usando a notação de chaves ({}):

@{triggerBody()?['123']}

Codificação e decodificação Base64

Os Aplicativos Lógicos do Azure executam automática ou implicitamente a codificação ou a decodificação base64, de modo que você não precisa executar essas conversões manualmente usando as funções correspondentes:

  • base64(<value>)
  • base64ToBinary(<value>)
  • base64ToString(<value>)
  • base64(decodeDataUri(<value>))
  • concat('data:;base64,',<value>)
  • concat('data:,',encodeUriComponent(<value>))
  • decodeDataUri(<value>)

Observação

Se você adicionar uma dessas funções manualmente com o designer, seja diretamente para um gatilho ou ação ou usando o editor de expressão, saia e retorne novamente ao designer. A função terá desaparecido dele, deixando apenas os valores de parâmetro. Esse comportamento também ocorrerá se você selecionar um gatilho ou uma ação que usa essa função sem editar os valores de parâmetro da função. Esse resultado afeta apenas a visibilidade da função e não o efeito. Na exibição de código, a função não é afetada. No entanto, se você editar os valores de parâmetro da função, a função e seu efeito serão removidos da exibição de código, deixando apenas os valores de parâmetro da função.

Funções matemáticas

Para trabalhar com números inteiros e floats, você pode usar estas funções matemáticas. Para a referência completa sobre cada função, consulte a lista alfabética.

Função matemática Tarefa
adicionar Retornar o resultado da adição de dois números.
div Retornar o resultado da divisão de dois números.
max Retornar o valor mais alto de um conjunto de números em uma matriz.
min Retornar o valor mais baixo de um conjunto de números ou de uma matriz.
mod Retornar o resto da divisão de dois números.
mul Retornar o produto da multiplicação de dois números.
rand Retornar um número inteiro aleatório de um intervalo especificado.
range Retornar uma matriz de inteiros que começa em um inteiro especificado.
sub Retornar o resultado da subtração do segundo número do primeiro.

Funções de data e hora

Para trabalhar com datas e horas, você pode usar estas funções de data e hora. Para a referência completa sobre cada função, consulte a lista alfabética.

Função de data ou hora Tarefa
addDays Adicionar dias a um carimbo de data/hora.
addHours Adicionar horas a um carimbo de data/hora.
addMinutes Adicionar minutos a um carimbo de data/hora.
addSeconds Adicionar segundos a um carimbo de data/hora.
addToTime Adicionar unidades de tempo especificadas a um carimbo de data/hora. Confira também getFutureTime.
convertFromUtc Converter um carimbo de data/hora de UTC (Tempo Universal Coordenado) no fuso horário de destino.
convertTimeZone Converter um carimbo de data/hora do fuso horário de origem no fuso horário de destino.
convertToUtc Converter um carimbo de data/hora do fuso horário de origem em UTC (Tempo Universal Coordenado).
dateDifference Retornar a diferença entre duas datas como um período de tempo.
dayOfMonth Retornar o componente de dia do mês de um carimbo de data/hora.
dayOfWeek Retornar o componente de dia da semana de um carimbo de data/hora.
dayOfYear Retornar o componente de dia do ano de um carimbo de data/hora.
formatDateTime Retornar a data de um carimbo de data/hora.
getFutureTime Retornar o carimbo de data/hora atual mais as unidades de tempo especificadas. Confira também addToTime.
getPastTime Retornar o carimbo de data/hora atual menos as unidades de tempo especificadas. Confira também subtractFromTime.
parseDateTime Retorna o carimbo de data/hora de uma cadeia de caracteres que contenha um carimbo de hora.
startOfDay Retornar o início do dia de um carimbo de data/hora.
startOfHour Retornar o início da hora de um carimbo de data/hora.
startOfMonth Retornar o início do mês de um carimbo de data/hora.
subtractFromTime Subtrair um número de unidades de tempo de um carimbo de data/hora. Confira também getPastTime.
ticks Retornar o valor de propriedade ticks de um carimbo de data/hora especificado.
utcNow Retornar o carimbo de data/hora atual como uma cadeia de caracteres.

Funções de fluxo de trabalho

Essas funções de fluxo de trabalho podem ajudar você a:

  • Obter detalhes sobre uma instância de fluxo de trabalho em tempo de execução.
  • Trabalhar com as entradas usadas para criar uma instância de aplicativos lógicos ou fluxos.
  • Referenciar as saídas de gatilhos e ações.

Por exemplo, você pode referenciar as saídas de uma ação e usar esses dados em uma ação posterior. Para a referência completa sobre cada função, consulte a lista alfabética.

Função de fluxo de trabalho Tarefa
action Retornar a saída da ação atual em runtime ou os valores de outros pares de nome e valor JSON. Confira também actions.
actionBody Retornar a saída body de uma ação em runtime. Confira também body.
actionOutputs Retornar a saída de uma ação em runtime. Confira outputs e actions.
actions Retornar a saída de uma ação em runtime ou os valores de outros pares de nome e valor JSON. Confira também action.
body Retornar a saída body de uma ação em runtime. Confira também actionBody.
formDataMultiValues Criar uma matriz com os valores correspondentes a um nome de chave nas saídas da ação form-data ou form-encoded.
formDataValue Retornar um único valor correspondente a um nome de chave na saída form-data ou form-encoded de uma ação.
item Se essa função aparece dentro de uma ação repetida em uma matriz, retornará o item atual na matriz durante a iteração atual da ação.
items Se essa função aparecer dentro de um loop Until ou Foreach, retornará o item atual do loop especificado.
iterationIndexes Se essa função aparecer dentro de um loop Until, retornará o valor de índice da iteração atual. Você pode usar essa função dentro de loops Until aninhados.
listCallbackUrl Retornar a "URL de retorno de chamada" que chama um gatilho ou uma ação.
multipartBody Retornar o corpo de uma parte específica na saída de uma ação que tem várias partes.
outputs Retornar a saída de uma ação em runtime.
parameters Retorna o valor de um parâmetro descrito na definição de fluxo de trabalho.
result Retorna as entradas e as saídas das ações primárias que estão dentro da ação no escopo especificada, como For_each, Until e Scope.
trigger Retornar a saída de um gatilho em runtime ou de outros pares de nome e valor JSON. Confira também triggerOutputs e triggerBody.
triggerBody Retornar a saída body de um gatilho em runtime. Confira trigger.
triggerFormDataValue Retornar um único valor correspondente a um nome de chave nas saídas dos gatilhos form-data ou form-encoded.
triggerMultipartBody Retornar o corpo de uma parte específica na saída de várias partes de um gatilho.
triggerFormDataMultiValues Criar uma matriz com valores correspondentes a um nome de chave nas saídas de gatilho form-data ou form-encoded.
triggerOutputs Retornar a saída de um gatilho em runtime ou os valores de outros pares de nome e valor JSON. Confira trigger.
variáveis Retornar o valor de uma variável especificada.
workflow Retornar todos os detalhes sobre o próprio fluxo de trabalho durante o tempo de execução.

Funções de análise de URI

Para trabalhar com URIs (Uniform Resource Identifier) e obter vários valores das propriedades desses URIs, você pode usar estas funções de análise de URI. Para a referência completa sobre cada função, consulte a lista alfabética.

Função de análise de URI Tarefa
uriHost Retornar o valor host de um URI (Uniform Resource Identifier).
uriPath Retornar o valor path de um URI (Uniform Resource Identifier).
uriPathAndQuery Retornar os valores path e query de um URI (Uniform Resource Identifier).
uriPort Retornar o valor port de um URI (Uniform Resource Identifier).
uriQuery Retornar o valor query de um URI (Uniform Resource Identifier).
uriScheme Retornar o valor scheme de um URI (Uniform Resource Identifier).

Funções de manipulação: JSON e XML

Para trabalhar com objetos JSON e nós XML, você pode usar estas funções de manipulação. Para a referência completa sobre cada função, consulte a lista alfabética.

Função de manipulação Tarefa
addProperty Adicionar uma propriedade e seu valor, ou par nome-valor, a um objeto JSON e retornar o objeto atualizado.
coalesce Retornar o primeiro valor não nulo de um ou mais parâmetros.
removeProperty Remover uma propriedade de um objeto JSON e retornar o objeto atualizado.
setProperty Definir o valor da propriedade de um objeto JSON e retornar o objeto atualizado.
xpath Verificar o XML em busca de nós ou valores correspondentes a uma expressão XPath (Linguagem XPath) e retornar esses nós ou valores.

---------------------------------

Todas as funções – lista alfabética

Esta seção lista todas as funções disponíveis em ordem alfabética.

A

ação

Retorne a saída da ação atual em runtime ou os valores de outros pares de nome e valor JSON, que podem ser atribuídos a uma expressão. Por padrão, essa função referencia todo o objeto de ação, mas você pode especificar uma propriedade cujo valor você deseja. Consulte também actions().

É possível usar a função action() apenas nestes lugares:

  • A propriedade unsubscribe de uma ação de webhook para que você possa acessar o resultado da solicitação subscribe original
  • A propriedade trackedProperties de uma ação
  • A condição de loop do-until de uma ação
action()
action().outputs.body.<property>
Parâmetro Obrigatório Type Descrição
<property> Não String O nome da propriedade do objeto de ação cuo valor você deseja: name, startTime, endTime, inputs, outputs, status, code, trackingId e clientTrackingId. No portal do Azure, é possível localizar essas propriedades revisando os detalhes de um histórico de execuções específico. Para obter mias informações, consulte REST API – Workflow Run Actions (API REST – Ações de execução de fluxo de trabalho).
Valor retornado Type Descrição
<action-output> String A saída da ação ou da propriedade atual

actionBody

Retornar a saída body de uma ação em runtime. Abreviação de actions('<actionName>').outputs.body. Consulte body() e actions().

actionBody('<actionName>')
Parâmetro Obrigatório Type Descrição
<actionName> Sim String O nome da saída body da ação desejada
Valor retornado Type Descrição
<action-body-output> String A saída body da ação especificada

Exemplo

Esse exemplo obtém a saída body da ação de Twitter Get user:

actionBody('Get_user')

E retorna este resultado:

"body": {
  "FullName": "Contoso Corporation",
  "Location": "Generic Town, USA",
  "Id": 283541717,
  "UserName": "ContosoInc",
  "FollowersCount": 172,
  "Description": "Leading the way in transforming the digital workplace.",
  "StatusesCount": 93,
  "FriendsCount": 126,
  "FavouritesCount": 46,
  "ProfileImageUrl": "https://pbs.twimg.com/profile_images/908820389907722240/gG9zaHcd_400x400.jpg"
}

actionOutputs

Retornar a saída de uma ação em runtime. e é a abreviação de actions('<actionName>').outputs. Consulte actions(). A função actionOutputs() é resolvida como outputs() no designer; portanto, considere o uso de outputs() em vez de actionOutputs(). Embora as funções funcionem da mesma forma, outputs() é preferencial.

actionOutputs('<actionName>')
Parâmetro Obrigatório Type Descrição
<actionName> Sim String O nome da saída da ação desejada
Valor retornado Type Descrição
<output> String A saída da ação especificada

Exemplo

Esse exemplo obtém a saída da ação de Twitter Get user:

actionOutputs('Get_user')

E retorna este resultado:

{
  "statusCode": 200,
  "headers": {
    "Pragma": "no-cache",
    "Vary": "Accept-Encoding",
    "x-ms-request-id": "a916ec8f52211265d98159adde2efe0b",
    "X-Content-Type-Options": "nosniff",
    "Timing-Allow-Origin": "*",
    "Cache-Control": "no-cache",
    "Date": "Mon, 09 Apr 2018 18:47:12 GMT",
    "Set-Cookie": "ARRAffinity=b9400932367ab5e3b6802e3d6158afffb12fcde8666715f5a5fbd4142d0f0b7d;Path=/;HttpOnly;Domain=twitter-wus.azconn-wus.p.azurewebsites.net",
    "X-AspNet-Version": "4.0.30319",
    "X-Powered-By": "ASP.NET",
    "Content-Type": "application/json; charset=utf-8",
    "Expires": "-1",
    "Content-Length": "339"
  },
  "body": {
    "FullName": "Contoso Corporation",
    "Location": "Generic Town, USA",
    "Id": 283541717,
    "UserName": "ContosoInc",
    "FollowersCount": 172,
    "Description": "Leading the way in transforming the digital workplace.",
    "StatusesCount": 93,
    "FriendsCount": 126,
    "FavouritesCount": 46,
    "ProfileImageUrl": "https://pbs.twimg.com/profile_images/908820389907722240/gG9zaHcd_400x400.jpg"
  }
}

Ações

Retornar a saída da ação em runtime ou os valores de outros pares de nome e valor JSON, que podem ser atribuídos a uma expressão. Por padrão, a função referencia todo o objeto de ação, mas você pode especificar uma propriedade cujo valor você deseja. Para versões abreviadas, consulte actionBody(), actionOutputs() e body(). Para a ação atual, consulte action().

Dica

A função actions() retorna a saída como uma cadeia de caracteres. Se você precisar trabalhar com um valor retornado como um objeto JSON, será necessário primeiro converter o valor da cadeia de caracteres. Você pode transformar o valor da cadeia de caracteres em um objeto JSON usando a Ação analisar JSON.

Observação

Anteriormente, era possível usar a função actions() ou o elemento conditions ao especificar que uma ação foi executada com base na saída de outra ação. No entanto, para declarar explicitamente dependências entre ações, agora é necessário usar a propriedade runAfter da ação dependente. Para saber mais sobre a propriedade runAfter, confira Detectar e lidar com falhas com a propriedade runAfter.

actions('<actionName>')
actions('<actionName>').outputs.body.<property>
Parâmetro Obrigatório Type Descrição
<actionName> Sim String O nome do objeto de ação cuja saída você deseja
<property> Não String O nome da propriedade do objeto de ação cuo valor você deseja: name, startTime, endTime, inputs, outputs, status, code, trackingId e clientTrackingId. No portal do Azure, é possível localizar essas propriedades revisando os detalhes de um histórico de execuções específico. Para obter mias informações, consulte REST API – Workflow Run Actions (API REST – Ações de execução de fluxo de trabalho).
Valor retornado Type Descrição
<action-output> String A saída da ação ou propriedade especificada

Exemplo

Esse exemplo obtém o valor de propriedade status da ação de Twitter Get user em runtime:

actions('Get_user').outputs.body.status

E retorna este resultado: "Succeeded"

add

Retornar o resultado da adição de dois números.

add(<summand_1>, <summand_2>)
Parâmetro Obrigatório Type Descrição
<summand_1>, <summand_2> Sim Integer, Float ou misto Os números a serem adicionados
Valor retornado Type Descrição
<result-sum> Integer ou Float O resultado da adição dos números especificados

Exemplo

Esse exemplo adiciona os números especificados:

add(1, 1.5)

E retorna este resultado: 2.5

addDays

Adicionar dias a um carimbo de data/hora.

addDays('<timestamp>', <days>, '<format>'?)
Parâmetro Obrigatório Type Descrição
<timestamp> Sim String Uma cadeia de caracteres que contém o carimbo de data/hora
<days> Sim Integer O número positivo ou negativo de dias a ser adicionado
<format> Não String Uma cadeia de caracteres de formato numérico que é um especificador de formato único ou um padrão de formato personalizado. O formato padrão do carimbo de data/hora é "o" (aaaa-MM-ddTHH:mm:ss.fffffffK), compatível com a ISO 8601 e que preserva informações de fuso horário.

Se o formato não for um valor válido, um erro será gerado.
Valor retornado Type Descrição
<updated-timestamp> String O carimbo de data/hora mais o número de dias especificado

Exemplo 1

Esse exemplo adiciona 10 dias ao carimbo de data/hora especificado:

addDays('2018-03-15T00:00:00Z', 10)

E retorna este resultado: "2018-03-25T00:00:00.0000000Z"

Exemplo 2

Esse exemplo subtrai cinco dias do carimbo de data/hora especificado:

addDays('2018-03-15T00:00:00Z', -5)

E retorna este resultado: "2018-03-10T00:00:00.0000000Z"

addHours

Adicionar horas a um carimbo de data/hora.

addHours('<timestamp>', <hours>, '<format>'?)
Parâmetro Obrigatório Type Descrição
<timestamp> Sim String Uma cadeia de caracteres que contém o carimbo de data/hora
<hours> Sim Integer O número positivo ou negativo de horas a ser adicionado
<format> Não String Uma cadeia de caracteres de formato numérico que é um especificador de formato único ou um padrão de formato personalizado. O formato padrão do carimbo de data/hora é "o" (aaaa-MM-ddTHH:mm:ss.fffffffK), compatível com a ISO 8601 e que preserva informações de fuso horário.

Se o formato não for um valor válido, um erro será gerado.
Valor retornado Type Descrição
<updated-timestamp> String O carimbo de data/hora mais o número de horas especificado

Exemplo 1

Esse exemplo adiciona 10 horas ao carimbo de data/hora especificado:

addHours('2018-03-15T00:00:00Z', 10)

E retorna este resultado: "2018-03-15T10:00:00.0000000Z"

Exemplo 2

Esse exemplo subtrai cinco horas do carimbo de data/hora especificado:

addHours('2018-03-15T15:00:00Z', -5)

E retorna este resultado: "2018-03-15T10:00:00.0000000Z"

addMinutes

Adicionar minutos a um carimbo de data/hora.

addMinutes('<timestamp>', <minutes>, '<format>'?)
Parâmetro Obrigatório Type Descrição
<timestamp> Sim String Uma cadeia de caracteres que contém o carimbo de data/hora
<minutes> Sim Integer O número positivo ou negativo de minutos a ser adicionado
<format> Não String Uma cadeia de caracteres de formato numérico que é um especificador de formato único ou um padrão de formato personalizado. O formato padrão do carimbo de data/hora é "o" (aaaa-MM-ddTHH:mm:ss.fffffffK), compatível com a ISO 8601 e que preserva informações de fuso horário.

Se o formato não for um valor válido, um erro será gerado.
Valor retornado Type Descrição
<updated-timestamp> String O carimbo de data/hora mais o número de minutos especificado

Exemplo 1

Esse exemplo adiciona 10 minutos ao carimbo de data/hora especificado:

addMinutes('2018-03-15T00:10:00Z', 10)

E retorna este resultado: "2018-03-15T00:20:00.0000000Z"

Exemplo 2

Esse exemplo subtrai cinco minutos do carimbo de data/hora especificado:

addMinutes('2018-03-15T00:20:00Z', -5)

E retorna este resultado: "2018-03-15T00:15:00.0000000Z"

addProperty

Adicionar uma propriedade e seu valor, ou par nome-valor, a um objeto JSON e retornar o objeto atualizado. Se a propriedade já existir em runtime, a função falhará e gerará um erro.

addProperty(<object>, '<property>', <value>)
Parâmetro Obrigatório Type Descrição
<object> Sim Objeto O objeto JSON em que você deseja adicionar uma propriedade
<property> Sim String O nome da propriedade a ser adicionada
<value> Sim Qualquer O valor da propriedade
Valor retornado Type Descrição
<updated-object> Objeto O objeto JSON atualizado com a propriedade especificada

Para adicionar uma propriedade pai a uma propriedade existente, use a função setProperty(), não a função addProperty(). Caso contrário, a função retornará apenas o objeto filho como a saída.

setProperty(<object>, '<parent-property>', addProperty(<object>['<parent-property>'], '<child-property>', <value>)
Parâmetro Obrigatório Type Descrição
<object> Sim Objeto O objeto JSON em que você deseja adicionar uma propriedade
<parent-property> Sim String O nome da propriedade pai à qual você deseja adicionar a propriedade filho
<child-property> Sim String O nome da propriedade filho a ser adicionada
<value> Sim Qualquer O valor a ser definido para a propriedade especificada
Valor retornado Type Descrição
<updated-object> Objeto O objeto JSON atualizado cuja propriedade você define

Exemplo 1

Este exemplo adiciona a propriedade middleName a um objeto JSON, que é convertido de uma cadeia de caracteres em JSON por meio da função JSON(). O objeto já inclui as propriedades firstName e surName. A função atribui o valor especificado à nova propriedade e retorna o objeto atualizado:

addProperty(json('{ "firstName": "Sophia", "lastName": "Owen" }'), 'middleName', 'Anne')

Este é o objeto JSON atual:

{
   "firstName": "Sophia",
   "surName": "Owen"
}

Este é o objeto JSON atualizado:

{
   "firstName": "Sophia",
   "middleName": "Anne",
   "surName": "Owen"
}

Exemplo 2

Este exemplo adiciona a propriedade filho middleName à propriedade customerName existente em um objeto JSON, que é convertido de uma cadeia de caracteres em JSON por meio da função JSON(). A função atribui o valor especificado à nova propriedade e retorna o objeto atualizado:

setProperty(json('{ "customerName": { "firstName": "Sophia", "surName": "Owen" } }'), 'customerName', addProperty(json('{ "customerName": { "firstName": "Sophia", "surName": "Owen" } }')['customerName'], 'middleName', 'Anne'))

Este é o objeto JSON atual:

{
   "customerName": {
      "firstName": "Sophia",
      "surName": "Owen"
   }
}

Este é o objeto JSON atualizado:

{
   "customerName": {
      "firstName": "Sophia",
      "middleName": "Anne",
      "surName": "Owen"
   }
}

addSeconds

Adicionar segundos a um carimbo de data/hora.

addSeconds('<timestamp>', <seconds>, '<format>'?)
Parâmetro Obrigatório Type Descrição
<timestamp> Sim String Uma cadeia de caracteres que contém o carimbo de data/hora
<seconds> Sim Integer O número positivo ou negativo de segundos a ser adicionado
<format> Não String Uma cadeia de caracteres de formato numérico que é um especificador de formato único ou um padrão de formato personalizado. O formato padrão do carimbo de data/hora é "o" (aaaa-MM-ddTHH:mm:ss.fffffffK), compatível com a ISO 8601 e que preserva informações de fuso horário.

Se o formato não for um valor válido, um erro será gerado.
Valor retornado Type Descrição
<updated-timestamp> String O carimbo de data/hora mais o número de segundos especificado

Exemplo 1

Esse exemplo adiciona 10 segundos ao carimbo de data/hora especificado:

addSeconds('2018-03-15T00:00:00Z', 10)

E retorna este resultado: "2018-03-15T00:00:10.0000000Z"

Exemplo 2

Esse exemplo subtrai cinco segundos ao carimbo de data/hora especificado:

addSeconds('2018-03-15T00:00:30Z', -5)

E retorna este resultado: "2018-03-15T00:00:25.0000000Z"

addToTime

Adicionar as unidades de tempo especificadas a um carimbo de data/hora. Consulte também getFutureTime().

addToTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
Parâmetro Obrigatório Type Descrição
<timestamp> Sim String Uma cadeia de caracteres que contém o carimbo de data/hora
<interval> Sim Integer O número de unidades de tempo especificadas a ser adicionado
<timeUnit> Sim String Unidade de tempo a ser usado com intervalo: "Segundo", "Minuto", "Hora", "Dia", "Semana", "Mês", "Ano"
<format> Não String Uma cadeia de caracteres de formato numérico que é um especificador de formato único ou um padrão de formato personalizado. O formato padrão do carimbo de data/hora é "o" (aaaa-MM-ddTHH:mm:ss.fffffffK), compatível com a ISO 8601 e que preserva informações de fuso horário.

Se o formato não for um valor válido, um erro será gerado.
Valor retornado Type Descrição
<updated-timestamp> String O carimbo de data/hora mais o número de unidades de tempo especificado

Exemplo 1

Este exemplo adiciona um dia ao carimbo de data/hora especificado:

addToTime('2018-01-01T00:00:00Z', 1, 'Day')

E retorna este resultado: "2018-01-02T00:00:00.0000000Z"

Exemplo 2

Este exemplo adiciona um dia ao carimbo de data/hora especificado:

addToTime('2018-01-01T00:00:00Z', 1, 'Day', 'D')

E retorna o resultado usando o formato "D" opcional: "Tuesday, January 2, 2018"

e

Verificar se todas as expressões são verdadeiras. Retornará true quando todas as expressões forem true ou retornar false quando pelo menos uma expressão é false.

and(<expression1>, <expression2>, ...)
Parâmetro Obrigatório Type Descrição
<expression1>, <expression2>, ... Sim Boolean As expressões a serem verificadas
Valor retornado Type Descrição
true ou false Boolean Retornará true quando todas as expressões forem true. Retornará false quando pelo menos uma expressão for false.

Exemplo 1

Esses exemplos verificam se os valores boolianos são todos true:

and(true, true)
and(false, true)
and(false, false)

E retorna estes resultados:

  • Primeiro exemplo: Ambas as expressões são true, então retorna true.
  • Segundo exemplo: Uma expressão é false, portanto retorna false.
  • Terceiro exemplo: Ambas as expressões são false, portanto retorna false.

Exemplo 2

Esses exemplos verificam se as expressões especificadas são todas true:

and(equals(1, 1), equals(2, 2))
and(equals(1, 1), equals(1, 2))
and(equals(1, 2), equals(1, 3))

E retorna estes resultados:

  • Primeiro exemplo: Ambas as expressões são true, então retorna true.
  • Segundo exemplo: Uma expressão é false, portanto retorna false.
  • Terceiro exemplo: Ambas as expressões são false, portanto retorna false.

matriz

Retornar uma matriz de uma única entrada especificada. Para várias entradas, consulte createArray().

array('<value>')
Parâmetro Obrigatório Type Descrição
<value> Sim String A cadeia de caracteres para criar uma matriz
Valor retornado Type Descrição
[<valor>] Array Uma matriz que contém a única entrada especificada

Exemplo

Esse exemplo cria uma matriz da cadeia de caracteres "hello":

array('hello')

E retorna este resultado: ["hello"]

B

base64

Retornar a versão codificada em Base64 de uma cadeia de caracteres.

Observação

Os Aplicativos Lógicos do Azure executam automática ou implicitamente a codificação e a decodificação base64, de modo que você não precisa executar essas conversões manualmente usando as funções de codificação e decodificação. No entanto, se você usar essas funções de qualquer forma, poderá experimentar comportamentos de renderização inesperados no designer. Esses comportamentos afetam apenas a visibilidade das funções e não seu efeito, a menos que você edite os valores de parâmetro das funções, o que remove as funções e seus efeitos do código. Para obter mais informações, confira Codificação e decodificação de Base64.

base64('<value>')
Parâmetro Obrigatório Type Descrição
<value> Sim String A cadeia de caracteres de entrada
Valor retornado Type Descrição
<base64-string> String A versão codificada em Base64 da cadeia de caracteres de entrada

Exemplo

Esse exemplo converte a cadeia de caracteres "hello" em uma cadeia de caracteres codificada em Base64:

base64('hello')

E retorna este resultado: "aGVsbG8="

base64ToBinary

Retornar a versão binária de uma cadeia de caracteres codificada em Base64.

Observação

Os Aplicativos Lógicos do Azure executam automática ou implicitamente a codificação e a decodificação base64, de modo que você não precisa executar essas conversões manualmente usando as funções de codificação e decodificação. No entanto, se você usar essas funções de qualquer forma no designer, poderá experimentar comportamentos de renderização inesperados no designer. Esses comportamentos afetam apenas a visibilidade das funções e não seu efeito, a menos que você edite os valores de parâmetro das funções, o que remove as funções e seus efeitos do código. Para obter mais informações, confira Codificação e decodificação de Base64.

base64ToBinary('<value>')
Parâmetro Obrigatório Type Descrição
<value> Sim String A cadeia de caracteres codificada em Base64 a ser convertida
Valor retornado Type Descrição
<binary-for-base64-string> String A versão binária da cadeia de caracteres codificada em Base64

Exemplo

Esse exemplo converte a cadeia de caracteres codificada em Base64 "aGVsbG8=" em uma cadeia de caracteres binária:

base64ToBinary('aGVsbG8=')

Por exemplo, suponha que você esteja usando uma ação HTTP para enviar uma solicitação. Você pode usar base64ToBinary() para converter uma cadeia de caracteres codificada em base 64 em dados binários e enviar esses dados usando o tipo de conteúdo application/octet-stream na solicitação.

base64ToString

Retorne a versão da cadeia de caracteres para uma cadeia de caracteres codificada em Base64, decodificando com eficiência a cadeia de caracteres Base64. Use essa função em vez de decodeBase64(), que foi preterida.

Observação

Os Aplicativos Lógicos do Azure executam automática ou implicitamente a codificação e a decodificação base64, de modo que você não precisa executar essas conversões manualmente usando as funções de codificação e decodificação. No entanto, se você usar essas funções de qualquer forma no designer, poderá experimentar comportamentos de renderização inesperados no designer. Esses comportamentos afetam apenas a visibilidade das funções e não seu efeito, a menos que você edite os valores de parâmetro das funções, o que remove as funções e seus efeitos do código. Para obter mais informações, confira Codificação e decodificação de Base64.

base64ToString('<value>')
Parâmetro Obrigatório Type Descrição
<value> Sim String A cadeia de caracteres codificada em Base64 a ser decodificada
Valor retornado Type Descrição
<decoded-base64-string> String A versão da cadeia de caracteres de uma cadeia de caracteres codificada em Base64

Exemplo

Esse exemplo converte a cadeia de caracteres codificada em Base64 "aGVsbG8=" em apenas uma cadeia de caracteres:

base64ToString('aGVsbG8=')

E retorna este resultado: "hello"

binary

Retornar a versão binária codificada em Base64 de uma cadeia de caracteres.

binary('<value>')
Parâmetro Obrigatório Type Descrição
<value> Sim String A cadeia de caracteres a ser convertida
Valor retornado Type Descrição
<binary-for-input-value> String A versão binária codificada em Base64 da cadeia de caracteres especificada

Exemplo

Por exemplo, você está usando uma ação HTTP que retorna um arquivo de imagem ou de vídeo. Você pode usar binary() para converter o valor em um modelo de envelope de conteúdo codificado em Base64. Em seguida, pode reutilizar o envelope de conteúdo em outras ações, como Compose. Você pode usar essa expressão de função para enviar os bytes de cadeia de caracteres com o tipo de conteúdo application/octet-stream na solicitação.

body

Retornar a saída body de uma ação em runtime. Abreviação de actions('<actionName>').outputs.body. Consulte actionBody() e actions().

body('<actionName>')
Parâmetro Obrigatório Type Descrição
<actionName> Sim String O nome da saída body da ação desejada
Valor retornado Type Descrição
<action-body-output> String A saída body da ação especificada

Exemplo

Esse exemplo obtém a saída body da ação de Twitter Get user:

body('Get_user')

E retorna este resultado:

"body": {
    "FullName": "Contoso Corporation",
    "Location": "Generic Town, USA",
    "Id": 283541717,
    "UserName": "ContosoInc",
    "FollowersCount": 172,
    "Description": "Leading the way in transforming the digital workplace.",
    "StatusesCount": 93,
    "FriendsCount": 126,
    "FavouritesCount": 46,
    "ProfileImageUrl": "https://pbs.twimg.com/profile_images/908820389907722240/gG9zaHcd_400x400.jpg"
}

bool

Retornar a versão booliana de um valor.

bool(<value>)
Parâmetro Obrigatório Type Descrição
<value> Sim Qualquer O valor a ser convertido em booliano.

Se você estiver usando bool() com um objeto, o valor do objeto deverá ser uma cadeia de caracteres ou um inteiro que possa ser convertido em booliano.

Valor retornado Type Descrição
true ou false Boolean A versão booliana do valor especificado.

Saídas

Estes exemplos mostram os diferentes tipos de entrada com suporte para bool():

Valor de entrada Tipo Retornar valor
bool(1) Integer true
bool(0) Integer false
bool(-1) Integer true
bool('true') String true
bool('false') Cadeia de caracteres false

C

parte

Dividir uma cadeia de caracteres ou uma matriz em partes de comprimento igual.

chunk('<collection>', '<length>')
chunk([<collection>], '<length>')
Parâmetro Obrigatório Type Descrição
<collection> Sim String ou Array A coleção a ser dividida
<length> Sim O comprimento de cada parte
Valor retornado Type Descrição
<collection> Array Uma matriz de partes com o comprimento especificado

Exemplo 1

Este exemplo divide uma cadeia de caracteres em partes de comprimento 10:

chunk('abcdefghijklmnopqrstuvwxyz', 10)

E retorna este resultado: ['abcdefghij', 'klmnopqrst', 'uvwxyz']

Exemplo 2

Este exemplo divide uma matriz em partes de comprimento 5.

chunk(createArray(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), 5)

E retorna este resultado: [ [1,2,3,4,5], [6,7,8,9,10], [11,12] ]

coalesce

Retornar o primeiro valor não nulo de um ou mais parâmetros. Cadeias de caracteres vazias, matrizes vazias e objetos vazios não são nulos.

coalesce(<object_1>, <object_2>, ...)
Parâmetro Obrigatório Type Descrição
<objeto_1>, <objeto_2>, ... Sim Qualquer um, pode misturar tipos Um ou mais itens para verificar se são nulos
Valor retornado Type Descrição
<first-non-null-item> Qualquer O primeiro item ou valor que não seja nulo. Se todos os parâmetros forem nulos, essa função retornará null.

Exemplo

Esses exemplos retornarão o primeiro valor não nulo dos valores especificados ou null quando todos os valores forem nulos:

coalesce(null, true, false)
coalesce(null, 'hello', 'world')
coalesce(null, null, null)

E retorna estes resultados:

  • Primeiro exemplo: true
  • Segundo exemplo: "hello"
  • Terceiro exemplo: null

concat

Combinar duas ou mais cadeias de caracteres e retornar a cadeia de caracteres combinada.

concat('<text1>', '<text2>', ...)
Parâmetro Obrigatório Type Descrição
<texto1>, <texto2>, ... Sim String Pelo menos duas cadeias de caracteres a serem combinadas
Valor retornado Type Descrição
<text1text2...> String A cadeia de caracteres criada das cadeias de caracteres de entrada combinadas.



Observação: o tamanho do resultado não deve exceder 104.857.600 caracteres.

Observação

Os Aplicativos Lógicos do Azure executam automática ou implicitamente a codificação e a decodificação base64, de modo que você não precisa executar essas conversões manualmente quando usar a função concat() com dados que precisam de codificação ou decodificação:

  • concat('data:;base64,',<value>)
  • concat('data:,',encodeUriComponent(<value>))

No entanto, se usar essa função de qualquer forma no designer, poderá experimentar comportamentos de renderização inesperados no designer. Esses comportamentos afetam apenas a visibilidade da função e não o efeito, a menos que você edite os valores de parâmetro da função, o que remove a função e o efeito do código. Para obter mais informações, confira Codificação e decodificação de Base64.

Exemplo

Esse exemplo combina as cadeias de caracteres "Olá" e "Mundo":

concat('Hello', 'World')

E retorna este resultado: "HelloWorld"

contains

Verificar se uma coleção tem um item específico. Retornará true quando o item for localizado ou false quando não for localizado. Essa função diferencia maiúsculas de minúsculas.

contains('<collection>', '<value>')
contains([<collection>], '<value>')

Especificamente, essa função funciona nestes tipos de coleção:

  • Uma cadeia de caracteres para localizar uma subcadeia de caracteres
  • Uma matriz para localizar um valor
  • Um dicionário para localizar uma chave
Parâmetro Obrigatório Type Descrição
<collection> Sim String, Array ou Dictionary A coleção a ser verificada
<value> Sim String, Array ou Dictionary, respectivamente O item a ser localizado
Valor retornado Type Descrição
true ou false Boolean Retornará true quando o item for localizado. Retorna false quando não localizada.

Exemplo 1

Esse exemplo verifica se há a subcadeia de caracteres "mundo" na cadeia de caracteres "olá, mundo" e retorna true:

contains('hello world', 'world')

Exemplo 2

Esse exemplo verifica se há a subcadeia de caracteres "universo" na cadeia de caracteres "olá, mundo" e retorna false:

contains('hello world', 'universe')

convertFromUtc

Converter um carimbo de data/hora de UTC (Tempo Universal Coordenado) no fuso horário de destino.

convertFromUtc('<timestamp>', '<destinationTimeZone>', '<format>'?)
Parâmetro Obrigatório Type Descrição
<timestamp> Sim String Uma cadeia de caracteres que contém o carimbo de data/hora
<destinationTimeZone> Sim String O nome do fuso horário de destino. Para obter nomes de fuso horário, examine Fusos horários padrão do Microsoft Windows.
<format> Não String Uma cadeia de caracteres de formato numérico que é um especificador de formato único ou um padrão de formato personalizado. O formato padrão do carimbo de data/hora é "o" (aaaa-MM-ddTHH:mm:ss.fffffffK), compatível com a ISO 8601 e que preserva informações de fuso horário.

Se o formato não for um valor válido, um erro será gerado.
Valor retornado Type Descrição
<converted-timestamp> String O carimbo de data/hora convertido no fuso horário de destino sem a diferença UTC do fuso horário.

Exemplo 1

Esse exemplo converte um carimbo de data/hora no fuso horário especificado:

convertFromUtc('2018-01-01T08:00:00.0000000Z', 'Pacific Standard Time')

E retorna este resultado: "2018-01-01T00:00:00.0000000"

Exemplo 2

Esse exemplo converte um carimbo de data/hora no fuso horário e no formato especificado:

convertFromUtc('2018-01-01T08:00:00.0000000Z', 'Pacific Standard Time', 'D')

E retorna este resultado: "Monday, January 1, 2018"

convertTimeZone

Converter um carimbo de data/hora do fuso horário de origem no fuso horário de destino.

convertTimeZone('<timestamp>', '<sourceTimeZone>', '<destinationTimeZone>', '<format>'?)
Parâmetro Obrigatório Type Descrição
<timestamp> Sim String Uma cadeia de caracteres que contém o carimbo de data/hora
<sourceTimeZone> Sim String O nome do fuso horário de origem. Para obter nomes de fuso horário, confira Fusos horários padrão do Microsoft Windows. Talvez seja necessário remover alguma pontuação do nome do fuso horário.
<destinationTimeZone> Sim String O nome do fuso horário de destino. Para obter nomes de fuso horário, confira Fusos horários padrão do Microsoft Windows. Talvez seja necessário remover alguma pontuação do nome do fuso horário.
<format> Não String Uma cadeia de caracteres de formato numérico que é um especificador de formato único ou um padrão de formato personalizado. O formato padrão do carimbo de data/hora é "o" (aaaa-MM-ddTHH:mm:ss.fffffffK), compatível com a ISO 8601 e que preserva informações de fuso horário.

Se o formato não for um valor válido, um erro será gerado.
Valor retornado Type Descrição
<converted-timestamp> String O carimbo de data/hora convertido na região do fuso horário

Exemplo 1

Esse exemplo converte o fuso horário de origem no fuso horário de destino:

convertTimeZone('2018-01-01T08:00:00.0000000Z', 'UTC', 'Pacific Standard Time')

E retorna este resultado: "2018-01-01T00:00:00.0000000"

Exemplo 2

Esse exemplo converte um fuso horário no fuso horário e no formato especificado:

convertTimeZone('2018-01-01T80:00:00.0000000Z', 'UTC', 'Pacific Standard Time', 'D')

E retorna este resultado: "Monday, January 1, 2018"

convertToUtc

Converter um carimbo de data/hora do fuso horário de origem em UTC (Tempo Universal Coordenado).

convertToUtc('<timestamp>', '<sourceTimeZone>', '<format>'?)
Parâmetro Obrigatório Type Descrição
<timestamp> Sim String Uma cadeia de caracteres que contém o carimbo de data/hora
<sourceTimeZone> Sim String O nome do fuso horário de origem. Para obter nomes de fuso horário, confira Fusos horários padrão do Microsoft Windows. Talvez seja necessário remover alguma pontuação do nome do fuso horário.
<format> Não String Uma cadeia de caracteres de formato numérico que é um especificador de formato único ou um padrão de formato personalizado. O formato padrão do carimbo de data/hora é "o" (aaaa-MM-ddTHH:mm:ss.fffffffK), compatível com a ISO 8601 e que preserva informações de fuso horário.

Se o formato não for um valor válido, um erro será gerado.
Valor retornado Type Descrição
<converted-timestamp> String O carimbo de data/hora convertido no UTC

Exemplo 1

Esse exemplo converte um carimbo de data/hora em UTC:

convertToUtc('01/01/2018 00:00:00', 'Pacific Standard Time')

E retorna este resultado: "2018-01-01T08:00:00.0000000Z"

Exemplo 2

Esse exemplo converte um carimbo de data/hora em UTC:

convertToUtc('01/01/2018 00:00:00', 'Pacific Standard Time', 'D')

E retorna este resultado: "Monday, January 1, 2018"

createArray

Retornar uma matriz de várias entradas. Para matrizes de entrada únicas, consulte array().

createArray('<object1>', '<object2>', ...)
Parâmetro Obrigatório Type Descrição
<objeto1>, <objeto2>, ... Sim Qualquer um, mas não misto Pelo menos dois itens para criar a matriz
Valor retornado Type Descrição
[<objeto1>, <objeto2>, ...] Array A matriz criada com base em todos os itens de entrada

Exemplo

Esse exemplo cria uma matriz com base nestas entradas:

createArray('h', 'e', 'l', 'l', 'o')

E retorna este resultado: ["h", "e", "l", "l", "o"]

D

dataUri

Retornar um URI (Uniform Resource Identifier) de dados para uma cadeia de caracteres.

dataUri('<value>')
Parâmetro Obrigatório Type Descrição
<value> Sim String A cadeia de caracteres a ser convertida
Valor retornado Type Descrição
<data-uri> String O URI dos dados da cadeia de caracteres de entrada

Exemplo

Esse exemplo cria um URI de dados para a cadeia de caracteres "hello":

dataUri('hello')

E retorna este resultado: "data:text/plain;charset=utf-8;base64,aGVsbG8="

dataUriToBinary

Retorne a versão binária de um URI (Uniform Resource Identifier) de dados. Use esta função em vez de decodeDataUri(). Embora as funções funcionem da mesma forma, dataUriBinary() é preferencial.

dataUriToBinary('<value>')
Parâmetro Obrigatório Type Descrição
<value> Sim String O URI de dados a ser convertido
Valor retornado Type Descrição
<binary-for-data-uri> String A versão binária do URI de dados

Exemplo

Esse exemplo cria uma versão binária para esse URI de dados:

dataUriToBinary('data:text/plain;charset=utf-8;base64,aGVsbG8=')

E retorna este resultado:

"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"

dataUriToString

Retornar a versão de cadeia de caracteres de um URI (Uniform Resource Identifier) de dados.

dataUriToString('<value>')
Parâmetro Obrigatório Type Descrição
<value> Sim String O URI de dados a ser convertido
Valor retornado Type Descrição
<string-for-data-uri> String A versão de cadeia de caracteres do URI de dados

Exemplo

Esse exemplo cria uma cadeia de caracteres para esse URI de dados:

dataUriToString('data:text/plain;charset=utf-8;base64,aGVsbG8=')

E retorna este resultado: "hello"

dateDifference

Retornar a diferença entre dois carimbos de data/hora como um período de tempo. Essa função subtrai startDate de endDate e retorna o resultado como carimbo de data/hora no formato de cadeia de caracteres.

dateDifference('<startDate>', '<endDate>')
Parâmetro Obrigatório Type Descrição
<startDate> Sim String Uma cadeia de caracteres que contém um carimbo de data/hora
<endDate> Sim String Uma cadeia de caracteres que contém um carimbo de data/hora
Valor retornado Type Descrição
<timespan> String A diferença entre os dois carimbos de data/hora, que é um carimbo de data/hora no formato de cadeia de caracteres. Se startDate for mais recente do que endDate, o resultado será um valor negativo.

Exemplo

Esse exemplo subtrai o primeiro valor do segundo:

dateDifference('2015-02-08', '2018-07-30')

E retorna este resultado: "1268.00:00:00"

dayOfMonth

Retorna o dia do mês de um carimbo de data/hora.

dayOfMonth('<timestamp>')
Parâmetro Obrigatório Type Descrição
<timestamp> Sim String Uma cadeia de caracteres que contém o carimbo de data/hora
Valor retornado Type Descrição
<day-of-month> Integer O dia do mês do carimbo de data/hora especificado

Exemplo

Esse exemplo retorna o número do dia do mês desse carimbo de data/hora:

dayOfMonth('2018-03-15T13:27:36Z')

E retorna este resultado: 15

dayOfWeek

Retornar o dia da semana de um carimbo de data/hora.

dayOfWeek('<timestamp>')
Parâmetro Obrigatório Type Descrição
<timestamp> Sim String Uma cadeia de caracteres que contém o carimbo de data/hora
Valor retornado Type Descrição
<day-of-week> Integer O dia da semana do carimbo de data/hora especificado em que domingo é 0, segunda-feira é 1 e assim por diante

Exemplo

Esse exemplo retorna o número do dia da semana desse carimbo de data/hora:

dayOfWeek('2018-03-15T13:27:36Z')

E retorna este resultado: 4

dayOfYear

Retorna o dia do ano de um carimbo de data/hora.

dayOfYear('<timestamp>')
Parâmetro Obrigatório Type Descrição
<timestamp> Sim String Uma cadeia de caracteres que contém o carimbo de data/hora
Valor retornado Type Descrição
<day-of-year> Integer O dia do ano do carimbo de data/hora especificado

Exemplo

Esse exemplo retorna o número do dia do ano desse carimbo de data/hora:

dayOfYear('2018-03-15T13:27:36Z')

E retorna este resultado: 74

decimal

Retorna um número decimal em uma cadeia de caracteres como um número decimal. Você poderá usar essa função quando estiver trabalhando com dados que exigem precisão decimal e também como entrada para funções de comparação lógica e funções matemáticas. Para capturar e preservar a precisão ao usar o resultado da função decimal(), encapsule qualquer saída decimal com a função de cadeia de caracteres. Esse uso aparece nos exemplos a seguir, nos quais você poderá perder a precisão se usar o resultado decimal como um número.

Observação

A precisão decimal discutida no contexto para essa função e no runtime dos Aplicativos Lógicos do Azure é igual à precisão decimal do .NET.

decimal('<value>')
Parâmetro Obrigatório Type Descrição
<value> Sim String O número decimal em uma cadeia de caracteres
Valor retornado Type Descrição
<decimal> Número Decimal O número decimal para uma cadeia de caracteres de entrada

Exemplo 1

Este exemplo cria um decimal usado como um número:

decimal('1.2345678912312131') // Returns 1.234567891231213.

Exemplo 2

Este exemplo cria um decimal e converte o resultado em uma cadeia de caracteres para preservação de precisão:

string(decimal('1.2345678912312131')) // Returns "1.2345678912312131".

Exemplo 3

Este exemplo usa uma função matemática em dois números decimais e usa o resultado como um número:

add(decimal('1.2345678912312131'), decimal('1.2345678912312131')) // Returns 2.469135782462426.

Exemplo 4

Este exemplo usa uma função matemática em dois números decimais e converte o resultado em uma cadeia de caracteres para preservação de precisão:

string(add(decimal('1.2345678912312131'), decimal('1.2345678912312131'))) // Returns "2.4691357824624262".

decodeBase64 (preterido)

Essa função está preterida, então, use base64ToString().

decodeDataUri

Retorne a versão binária de um URI (Uniform Resource Identifier) de dados. Considere usar dataUriToBinary(), em vez de decodeDataUri(). Embora as funções funcionem da mesma forma, dataUriToBinary() é preferencial.

Observação

Os Aplicativos Lógicos do Azure executam automática ou implicitamente a codificação e a decodificação base64, de modo que você não precisa executar essas conversões manualmente usando as funções de codificação e decodificação. No entanto, se você usar essas funções de qualquer forma no designer, poderá experimentar comportamentos de renderização inesperados no designer. Esses comportamentos afetam apenas a visibilidade das funções e não seu efeito, a menos que você edite os valores de parâmetro das funções, o que remove as funções e seus efeitos do código. Para obter mais informações, confira Codificação e decodificação de Base64.

decodeDataUri('<value>')
Parâmetro Obrigatório Type Descrição
<value> Sim String A cadeia de caracteres do URI de dados a ser decodificada
Valor retornado Type Descrição
<binary-for-data-uri> String A versão binária de uma cadeia de caracteres do URI de dados

Exemplo

Esse exemplo retorna a versão binária para este URI de dados:

decodeDataUri('data:text/plain;charset=utf-8;base64,aGVsbG8=')

E retorna este resultado:

"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"

decodeUriComponent

Retornar uma cadeia de caracteres que substitui caracteres de escape por versões decodificadas.

decodeUriComponent('<value>')
Parâmetro Obrigatório Type Descrição
<value> Sim String A cadeia de caracteres com os caracteres de escape a ser decodificada
Valor retornado Type Descrição
<decoded-uri> String A cadeia de caracteres atualizada com os caracteres de escape decodificados

Exemplo

Esse exemplo substitui os caracteres de escape nesta cadeia de caracteres por versões decodificadas:

decodeUriComponent('https%3A%2F%2Fcontoso.com')

E retorna este resultado: "https://contoso.com"

div

Retornar o resultado da divisão de dois números. Para obter o resultado restante, consulte mod().

div(<dividend>, <divisor>)
Parâmetro Obrigatório Type Descrição
<dividend> Sim Integer ou Float O número a ser dividido pelo divisor
<divisor> Sim Integer ou Float O número que divide o dividendo, mas não pode ser zero
Valor retornado Type Descrição
<quotient-result> Integer ou Float O resultado da divisão do primeiro número pelo segundo. Se o dividendo ou o divisor tiver um tipo Float, o resultado terá o tipo Float.



Observação: para converter o resultado float em um número inteiro, tente criar e chamar uma função no Azure pelo aplicativo lógico.

Exemplo 1

Os dois exemplos retornam este valor com o tipo Integer: 2

div(10,5)
div(11,5)

Exemplo 2

Os dois exemplos retornam este valor com o tipo Float: 2.2

div(11,5.0)
div(11.0,5)

E

encodeUriComponent

Retornar uma versão codificada para URI (Uniform Resource Identifier) para uma cadeia de caracteres substituindo caracteres desprotegidos de URL por caracteres de escape. Considere usar uriComponent(), em vez de encodeUriComponent(). Embora as funções funcionem da mesma forma, uriComponent() é preferencial.

Observação

Os Aplicativos Lógicos do Azure executam automática ou implicitamente a codificação e a decodificação base64, de modo que você não precisa executar essas conversões manualmente usando as funções de codificação e decodificação. No entanto, se você usar essas funções de qualquer forma no designer, poderá experimentar comportamentos de renderização inesperados no designer. Esses comportamentos afetam apenas a visibilidade das funções e não seu efeito, a menos que você edite os valores de parâmetro das funções, o que remove as funções e seus efeitos do código. Para obter mais informações, confira Codificação e decodificação de Base64.

encodeUriComponent('<value>')
Parâmetro Obrigatório Type Descrição
<value> Sim String A cadeia de caracteres a ser convertida em um formato codificado para URI
Valor retornado Type Descrição
<encoded-uri> String A cadeia de caracteres codificada para URI com caracteres de escape

Exemplo

Esse exemplo cria uma versão codificada para URI para esta cadeia de caracteres:

encodeUriComponent('https://contoso.com')

E retorna este resultado: "https%3A%2F%2Fcontoso.com"

empty

Verifique se uma coleção está vazia. Retornará true quando a coleção estiver vazia ou false quando não estiver vazia.

empty('<collection>')
empty([<collection>])
Parâmetro Obrigatório Type Descrição
<collection> Sim String, Array ou Object A coleção a ser verificada
Valor retornado Type Descrição
true ou false Boolean Retornará true quando a coleção estiver vazia. Retornará false quando não estiver vazia.

Exemplo

Esses exemplos verificam se as coleções especificadas estão vazias:

empty('')
empty('abc')

E retorna estes resultados:

  • Primeiro exemplo: Passa uma cadeia de caracteres vazia para que a função retorne true.
  • Segundo exemplo: Passa uma cadeia de caracteres "abc, para que a função retorne false.

endsWith

Verificar se uma cadeia de caracteres termina com uma subcadeia de caracteres específica. Retornará true quando a subcadeia de caracteres for localizada ou retornará false quando não for localizada. Essa função não diferencia maiúsculas de minúsculas.

endsWith('<text>', '<searchText>')
Parâmetro Obrigatório Type Descrição
<text> Sim String A cadeia de caracteres a ser verificada
<searchText> Sim String A subcadeia de caracteres final a ser localizada
Valor retornado Type Descrição
true ou false Boolean Retornará true quando a subcadeia de caracteres final for localizada. Retorna false quando não localizada.

Exemplo 1

Esse exemplo verifica se a cadeia de caracteres "olá, mundo" termina com a cadeia de caracteres "mundo":

endsWith('hello world', 'world')

E retorna este resultado: true

Exemplo 2

Esse exemplo verifica se a cadeia de caracteres "olá, mundo" termina com a cadeia de caracteres "universo":

endsWith('hello world', 'universe')

E retorna este resultado: false

equals

Verificar se os valores, expressões ou objetos são equivalentes. Retornará true quando ambos forem equivalentes ou retornará false quando não forem equivalentes.

equals('<object1>', '<object2>')
Parâmetro Obrigatório Type Descrição
<objeto1>, <objeto2> Sim Vários Os valores, expressões ou objetos a serem comparados
Valor retornado Type Descrição
true ou false Boolean Retornará true quando ambos forem equivalentes. Retornará false quando não forem equivalentes.

Exemplo

Esses exemplos verificam se as entradas especificadas são equivalentes.

equals(true, 1)
equals('abc', 'abcd')

E retorna estes resultados:

  • Primeiro exemplo: Ambos os valores são equivalentes, então a função retorna true.
  • Segundo exemplo: Ambos os valores não são equivalentes, então a função retorna false.

F

first

Retornar o primeiro item de uma cadeia de caracteres ou de uma matriz.

first('<collection>')
first([<collection>])
Parâmetro Obrigatório Type Descrição
<collection> Sim String ou Array A coleção na qual localizar o primeiro item
Valor retornado Type Descrição
<first-collection-item> Qualquer O primeiro item na coleção

Exemplo

Esses exemplos localizam o primeiro item nestas coleções:

first('hello')
first(createArray(0, 1, 2))

E retornam estes resultados:

  • Primeiro exemplo: "h"
  • Segundo exemplo: 0

FLOAT

Converter uma versão de cadeia de caracteres para um número de ponto flutuante em um número de ponto flutuante real. Use essa função apenas ao passar parâmetros personalizados para um aplicativo, por exemplo, um fluxo de trabalho de aplicativo lógico ou um fluxo do Power Automate. Para converter cadeias de caracteres de ponto flutuante representadas em formatos específicos de localidade, você pode, opcionalmente, especificar um código de localidade RFC 4646.

float('<value>', '<locale>'?)
Parâmetro Obrigatório Type Descrição
<value> Sim String A cadeia de caracteres que tem um número de ponto flutuante válido a ser convertido. Os valores mínimo e máximo são os mesmos que os limites para o tipo de dados float.
<locale> Não String O código de localidade RFC 4646 a ser usado.

Se esta opção não for especificada, o local padrão será usado.

Se a localidade não for um valor válido, será gerado um erro de que a localidade fornecida não é válida ou não tem uma localidade associada.
Valor retornado Type Descrição
<float-value> Float O número de ponto flutuante para a cadeia de caracteres especificada. Os valores mínimo e máximo são os mesmos que os limites para o tipo de dados float.

Exemplo 1

Esse exemplo cria uma versão de cadeia de caracteres para este número de ponto flutuante:

float('10,000.333')

E retorna este resultado: 10000.333

Exemplo 2

Esse exemplo cria uma versão de cadeia de caracteres para este número de ponto flutuante no estilo alemão:

float('10.000,333', 'de-DE')

E retorna este resultado: 10000.333

formatDateTime

Retornar um carimbo de data/hora no formato especificado.

formatDateTime('<timestamp>', '<format>'?, '<locale>'?)
Parâmetro Obrigatório Type Descrição
<timestamp> Sim String Uma cadeia de caracteres que contém o carimbo de data/hora
<format> Não String Uma cadeia de caracteres de formato numérico que é um especificador de formato único ou um padrão de formato personalizado. O formato padrão do carimbo de data/hora é "o" (aaaa-MM-ddTHH:mm:ss.fffffffK), compatível com a ISO 8601 e que preserva informações de fuso horário.
<locale> Não String A localidade a ser usada. Se não especificado, o valor será en-us. Se a localidade não for um valor válido, um erro será gerado.
Valor retornado Type Descrição
<reformatted-timestamp> String O carimbo de data/hora atualizado no formato e localidade especificados, se tiver sido especificado.

Exemplos

formatDateTime('03/15/2018') // Returns '2018-03-15T00:00:00.0000000'.
formatDateTime('03/15/2018 12:00:00', 'yyyy-MM-ddTHH:mm:ss') // Returns '2018-03-15T12:00:00'.
formatDateTime('01/31/2016', 'dddd MMMM d') // Returns 'Sunday January 31'.
formatDateTime('01/31/2016', 'dddd MMMM d', 'fr-fr') // Returns 'dimanche janvier 31'.
formatDateTime('01/31/2016', 'dddd MMMM d', 'fr-FR') // Returns 'dimanche janvier 31'.
formatDateTime('01/31/2016', 'dddd MMMM d', 'es-es') // Returns 'domingo enero 31'.

formDataMultiValues

Retornar uma matriz com valores correspondentes a um nome de chave na saída de dados de formulário ou codificada para formulário de uma ação.

formDataMultiValues('<actionName>', '<key>')
Parâmetro Obrigatório Type Descrição
<actionName> Sim String A ação cuja saída tem o valor de chave desejado
<key> Sim String O nome da chave cujo valor você deseja
Valor retornado Type Descrição
[<<array-with-key-values>>] Array Uma matriz com todos os valores correspondentes à chave especificada

Exemplo

Esse exemplo cria uma matriz do valor da chave "Assunto" na saída de dados de formulário ou codificada para formulário de uma ação:

formDataMultiValues('Send_an_email', 'Subject')

E retorna o texto do assunto em uma matriz, por exemplo: ["Hello world"]

formDataValue

Retornar um único valor correspondente a um nome de chave na saída form-data ou form-encoded de uma ação. Se a função localizar mais de uma correspondência, a função gerará um erro.

formDataValue('<actionName>', '<key>')
Parâmetro Obrigatório Type Descrição
<actionName> Sim String A ação cuja saída tem o valor de chave desejado
<key> Sim String O nome da chave cujo valor você deseja
Valor retornado Type Descrição
<key-value> String O valor na chave especificada

Exemplo

Esse exemplo cria uma cadeia de caracteres do valor da chave "Assunto" na saída de dados de formulário ou codificada para formulário de uma ação:

formDataValue('Send_an_email', 'Subject')

E retorna o texto do assunto como uma cadeia de caracteres, por exemplo: "Hello world"

formatNumber

Retorna um número como uma cadeia de caracteres com base no formato especificado.

formatNumber(<number>, <format>, <locale>?)
Parâmetro Obrigatório Type Descrição
<number> Sim Inteiro ou duplo O valor que você deseja formatar.
<format> Sim String Uma cadeia de caracteres de formato composto que especifica o formato que você deseja usar. Para obter as cadeias de caracteres de formato numérico compatíveis, confira Cadeias de caracteres de formato numérico padrão, que são compatíveis com number.ToString(<format>, <locale>).
<locale> Não String A localidade a ser usada compatível com o number.ToString(<format>, <locale>). Se não especificado, o valor será en-us. Se a localidade não for um valor válido, um erro será gerado.
Valor retornado Type Descrição
<formatted-number> String O número especificado como uma cadeia de caracteres no formato que você especificou. Converta esse valor retornado em um int ou float.

Exemplo 1

Suponha que você deseje formatar o número 1234567890. Este exemplo formata esse número como a cadeia de caracteres "1.234.567.890,00".

formatNumber(1234567890, '0,0.00', 'en-us')

*Exemplo 2

Suponha que você deseje formatar o número 1234567890. Este exemplo formata o número como a cadeia de caracteres "1.234.567.890,00".

formatNumber(1234567890, '0,0.00', 'is-is')

Exemplo 3

Suponha que você deseje formatar o número 17.35. Este exemplo formata o número como a cadeia de caracteres "US$ 17,35".

formatNumber(17.35, 'C2')

Exemplo 4

Suponha que você deseje formatar o número 17.35. Este exemplo formata o número como a cadeia de caracteres "17,35 kr".

formatNumber(17.35, 'C2', 'is-is')

G

getFutureTime

Retornar o carimbo de data/hora atual mais as unidades de tempo especificadas.

getFutureTime(<interval>, <timeUnit>, <format>?)
Parâmetro Obrigatório Type Descrição
<interval> Sim Integer O número de unidades de tempo a serem adicionadas
<timeUnit> Sim String Unidade de tempo a ser usado com intervalo: "Segundo", "Minuto", "Hora", "Dia", "Semana", "Mês", "Ano"
<format> Não String Um especificador de formato único ou um padrão de formato personalizado. O formato padrão do carimbo de data/hora é "o" (aaaa-MM-ddTHH:mm:ss.fffffffK), compatível com a ISO 8601 e que preserva informações de fuso horário.

Se o formato não for um valor válido, será gerado um erro informando que o formato fornecido não é válido e deve ser uma cadeia de caracteres de formato numérico.
Valor retornado Type Descrição
<updated-timestamp> String O carimbo de data/hora atual mais o número de unidades de tempo especificado

Exemplo 1

Suponha que o carimbo de data/hora é "2018-03-01T00:00:00.0000000Z". Esse exemplo adiciona cinco dias a esse carimbo de data/hora:

getFutureTime(5, 'Day')

E retorna este resultado: "2018-03-06T00:00:00.0000000Z"

Exemplo 2

Suponha que o carimbo de data/hora é "2018-03-01T00:00:00.0000000Z". Esse exemplo adiciona cinco dias e converte o resultado no formato "D":

getFutureTime(5, 'Day', 'D')

E retorna este resultado: "Tuesday, March 6, 2018"

getPastTime

Retornar o carimbo de data/hora atual menos as unidades de tempo especificadas.

getPastTime(<interval>, <timeUnit>, <format>?)
Parâmetro Obrigatório Type Descrição
<interval> Sim Integer O número de unidades de tempo especificadas a serem subtraídas
<timeUnit> Sim String Unidade de tempo a ser usado com intervalo: "Segundo", "Minuto", "Hora", "Dia", "Semana", "Mês", "Ano"
<format> Não String Um especificador de formato único ou um padrão de formato personalizado. O formato padrão do carimbo de data/hora é "o" (aaaa-MM-ddTHH:mm:ss.fffffffK), compatível com a ISO 8601 e que preserva informações de fuso horário.

Se o formato não for um valor válido, será gerado um erro informando que o formato fornecido não é válido e deve ser uma cadeia de caracteres de formato numérico.
Valor retornado Type Descrição
<updated-timestamp> String O carimbo de data/hora atual menos o número de unidades de tempo especificado

Exemplo 1

Suponha que o carimbo de data/hora é "2018-02-01T00:00:00.0000000Z". Esse exemplo subtrai cinco dias desse carimbo de data/hora:

getPastTime(5, 'Day')

E retorna este resultado: "2018-01-27T00:00:00.0000000Z"

Exemplo 2

Suponha que o carimbo de data/hora é "2018-02-01T00:00:00.0000000Z". Esse exemplo subtrai cinco dias e converte o resultado no formato "D":

getPastTime(5, 'Day', 'D')

E retorna este resultado: "Saturday, January 27, 2018"

greater

Verificar se o primeiro valor é maior que o segundo valor. Retornará true quando o primeiro valor for maior ou false quando for menor.

greater(<value>, <compareTo>)
greater('<value>', '<compareTo>')
Parâmetro Obrigatório Type Descrição
<value> Sim Integer, Float ou String O primeiro valor para verificar se é maior do que o segundo
<compareTo> Sim Integer, Float ou String, respectivamente O valor de comparação
Valor retornado Type Descrição
true ou false Boolean Retornará true quando o primeiro valor for maior que o segundo. Retornará false quando o primeiro valor for igual ou menor que o segundo.

Exemplo

Esses exemplos verificam se o primeiro valor é maior que o segundo:

greater(10, 5)
greater('apple', 'banana')

E retornam estes resultados:

  • Primeiro exemplo: true
  • Segundo exemplo: false

greaterOrEquals

Verificar se o primeiro valor é superior ou igual ao segundo. Retornará true quando o primeiro valor for superior ou igual ou retornará false quando o primeiro valor for inferior.

greaterOrEquals(<value>, <compareTo>)
greaterOrEquals('<value>', '<compareTo>')
Parâmetro Obrigatório Type Descrição
<value> Sim Integer, Float ou String O primeiro valor para verificar se é superior ou igual ao segundo
<compareTo> Sim Integer, Float ou String, respectivamente O valor de comparação
Valor retornado Type Descrição
true ou false Boolean Retornará true quando o primeiro valor for superior ou igual ao segundo. Retornará false quando o primeiro valor for menor que o segundo.

Exemplo

Esses exemplos verificam se o primeiro valor é superior ou igual ao segundo:

greaterOrEquals(5, 5)
greaterOrEquals('apple', 'banana')

E retornam estes resultados:

  • Primeiro exemplo: true
  • Segundo exemplo: false

guid

Gere um GUID (identificador global exclusivo) como uma cadeia de caracteres, por exemplo, "c2ecc88d-88c8-4096-912c-d6f2e2b138ce":

guid()

Além disso, é possível especificar um formato diferente para o GUID que não seja o formato padrão, "D", que é de 32 dígitos separados por hifens.

guid('<format>')
Parâmetro Obrigatório Type Descrição
<format> Não String Um único especificador de formato para o GUID retornado. Por padrão, o formato é "D", mas é possível usar "N", "D", "B", "P" ou "X".
Valor retornado Type Descrição
<GUID-value> String Um GUID gerado aleatoriamente

Exemplo

Esse exemplo gera o mesmo GUID, mas como 32 dígitos, separado por hifens e entre parênteses:

guid('P')

E retorna este resultado: "(c2ecc88d-88c8-4096-912c-d6f2e2b138ce)"

I

if

Verificar se uma expressão é verdadeira ou falsa. Com base no resultado, retornar um valor especificado. Os parâmetros são avaliados da esquerda para a direita.

if(<expression>, <valueIfTrue>, <valueIfFalse>)
Parâmetro Obrigatório Type Descrição
<expression> Sim Boolean A expressão a ser verificada
<valueIfTrue> Sim Qualquer O valor a ser retornado quando a expressão for verdadeira
<valueIfFalse> Sim Qualquer O valor a ser retornado quando a expressão for falsa
Valor retornado Type Descrição
<specified-return-value> Qualquer O valor especificado retornado dependendo se a expressão é verdadeira ou falsa

Exemplo

Esse exemplo retorna "yes", porque a expressão especificada retorna true. Caso contrário, o exemplo retorna "no":

if(equals(1, 1), 'yes', 'no')

indexOf

Retornar o valor de índice ou a posição inicial para uma subcadeia de caracteres. Essa função não diferencia maiúsculas de minúsculas, e os índices começam com o número 0.

indexOf('<text>', '<searchText>')
Parâmetro Obrigatório Type Descrição
<text> Sim String A cadeia de caracteres que tem a subcadeia de caracteres a ser localizada
<searchText> Sim String A subcadeia de caracteres a ser localizada
Valor retornado Type Descrição
<index-value> Integer O valor de índice ou a posição inicial da subcadeia de caracteres especificada.

Se a cadeia de caracteres não for localizada, retornará o número -1.

Exemplo

Esse exemplo localiza o valor de índice inicial para a subcadeia de caracteres "mundo" na cadeia de caracteres "olá, mundo":

indexOf('hello world', 'world')

E retorna este resultado: 6

INT

Converta a versão da cadeia de caracteres de um inteiro em um número inteiro real.

int('<value>')
Parâmetro Obrigatório Type Descrição
<value> Sim String A versão da cadeia de caracteres para o inteiro a ser convertido. Os valores mínimo e máximo são os mesmos que os limites para o tipo de dados Integer.
Valor retornado Type Descrição
<integer-result> Integer A versão em inteiros da cadeia de caracteres especificada. Os valores mínimo e máximo são os mesmos que os limites para o tipo de dados Integer.

Exemplo

Esse exemplo cria uma versão em inteiros da cadeia de caracteres "10":

int('10')

E retorna este resultado: 10

isFloat

Retornar um booliano que indica se uma cadeia de caracteres é um número de ponto flutuante. Por padrão, essa função usa a cultura invariável para o formato de ponto flutuante. Para identificar números de ponto flutuante representados em outros formatos específicos de localidade, você pode, opcionalmente, especificar um código de localidade RFC 4646.

isFloat('<string>', '<locale>'?)
Parâmetro Obrigatório Type Descrição
<value> Sim String A cadeia de caracteres a examinar
<locale> Não String O código de localidade RFC 4646 a ser usado
Valor retornado Type Descrição
<boolean-result> Boolean Um booliano que indica se uma cadeia de caracteres é um número de ponto flutuante

Exemplo 1

Este exemplo verifica se uma cadeia de caracteres é um número de ponto flutuante na cultura invariável:

isFloat('10,000.00')

E retorna este resultado: true

Exemplo 2

Este exemplo verifica se uma cadeia de caracteres é um número de ponto flutuante na localidade alemã:

isFloat('10.000,00', 'de-DE')

E retorna este resultado: true

isInt

Retornar um booliano que indica se uma cadeia de caracteres é um inteiro.

isInt('<string>')
Parâmetro Obrigatório Type Descrição
<cadeia de caracteres> Sim String A cadeia de caracteres a examinar
Valor retornado Type Descrição
<boolean-result> Boolean Um booliano que indica se uma cadeia de caracteres é um inteiro

Exemplo

Este exemplo verifica se uma cadeia de caracteres é um inteiro:

isInt('10')

E retorna este resultado: true

item

Quando usado dentro de uma ação repetida em uma matriz, retornar o item atual na matriz durante a iteração atual da ação. Também é possível obter os valores das propriedades desse item.

item()
Valor retornado Type Descrição
<current-array-item> Qualquer O item atual na matriz da iteração atual da ação

Exemplo

Esse exemplo obtém o elemento body da mensagem atual para a ação "Enviar_um_email" dentro de uma iteração atual do loop for-each:

item().body

itens

Retornar o item atual de cada ciclo em um loop for-each. Use esta função dentro do loop for-each.

items('<loopName>')
Parâmetro Obrigatório Type Descrição
<loopName> Sim String O nome do loop for-each
Valor retornado Type Descrição
<item> Qualquer O item do ciclo atual no loop for-each especificado

Exemplo

Esse exemplo obtém o item atual do loop for-each especificado:

items('myForEachLoopName')

iterationIndexes

Retorna o valor de índice da iteração atual dentro de um loop Until. Você pode usar essa função dentro de loops Until aninhados.

iterationIndexes('<loopName>')
Parâmetro Obrigatório Type Descrição
<loopName> Sim String O nome do loop Until
Valor retornado Type Descrição
<index> Integer O valor de índice da iteração atual dentro do loop Until especificado

Exemplo

Este exemplo cria uma variável de contador e incrementa essa variável em um durante cada iteração em um loop Until até que o valor do contador atinja cinco. O exemplo também cria uma variável que acompanha o índice atual em cada iteração. Durante cada iteração no loop Until, o exemplo incrementa o valor do contador, depois atribui o valor do contador ao valor do índice atual e, em seguida, incrementa o valor do contador. No loop, este exemplo referencia o índice de iteração atual usando a função iterationIndexes:

iterationIndexes('Until_Max_Increment')

{
   "actions": {
      "Create_counter_variable": {
         "type": "InitializeVariable",
         "inputs": {
            "variables": [ 
               {
                  "name": "myCounter",
                  "type": "Integer",
                  "value": 0
               }
            ]
         },
         "runAfter": {}
      },
      "Create_current_index_variable": {
         "type": "InitializeVariable",
         "inputs": {
            "variables": [
               {
                  "name": "myCurrentLoopIndex",
                  "type": "Integer",
                  "value": 0
               }
            ]
         },
         "runAfter": {
            "Create_counter_variable": [ "Succeeded" ]
         }
      },
      "Until_Max_Increment": {
         "type": "Until",
         "actions": {
            "Assign_current_index_to_counter": {
               "type": "SetVariable",
               "inputs": {
                  "name": "myCurrentLoopIndex",
                  "value": "@variables('myCounter')"
               },
               "runAfter": {
                  "Increment_variable": [ "Succeeded" ]
               }
            },
            "Compose": {
               "inputs": "'Current index: ' @{iterationIndexes('Until_Max_Increment')}",
               "runAfter": {
                  "Assign_current_index_to_counter": [
                     "Succeeded"
                    ]
                },
                "type": "Compose"
            },           
            "Increment_variable": {
               "type": "IncrementVariable",
               "inputs": {
                  "name": "myCounter",
                  "value": 1
               },
               "runAfter": {}
            }
         },
         "expression": "@equals(variables('myCounter'), 5)",
         "limit": {
            "count": 60,
            "timeout": "PT1H"
         },
         "runAfter": {
            "Create_current_index_variable": [ "Succeeded" ]
         }
      }
   }
}

J

json

Retornar o objeto, matriz de objetos ou valor de tipo JSON (JavaScript Object Notation) correspondente a uma cadeia de caracteres ou XML.

json('<value>')
json(xml('value'))

Importante

Sem um esquema XML que define a estrutura da saída, a função pode retornar resultados em que a estrutura difere muito do formato esperado, dependendo da entrada.

Esse comportamento torna essa função inadequada para cenários em que a saída deve estar em conformidade com um contrato definido, por exemplo, em sistemas de negócios ou soluções críticos.

Parâmetro Obrigatório Type Descrição
<value> Sim String ou XML A cadeia de caracteres ou XML a ser convertido
Valor retornado Type Descrição
<JSON-result> Tipo nativo JSON, objeto ou matriz O valor do tipo nativo JSON, o objeto ou a matriz de objetos da cadeia de caracteres de entrada ou XML.



– Se você passar o XML que tem um único elemento filho no elemento raiz, a função retornará um único objeto JSON para esse elemento filho.

– Se você passar o XML que tem vários elementos filho no elemento raiz, a função retornará uma matriz que contém objetos JSON para esses elementos filho.

– Se a cadeia de caracteres for nula, a função retornará um objeto vazio.

Exemplo 1

Este exemplo converte essa cadeia de caracteres em um valor JSON:

json('[1, 2, 3]')

E retorna este resultado: [1, 2, 3]

Exemplo 2

Este exemplo converte essa cadeia de caracteres em JSON:

json('{"fullName": "Sophia Owen"}')

E retorna este resultado:

{
  "fullName": "Sophia Owen"
}

Exemplo 3

Este exemplo usa as funções json() e xml() para converter XML que tem um único elemento filho no elemento raiz em um objeto JSON chamado person para esse elemento filho:

json(xml('<?xml version="1.0"?> <root> <person id="1"> <name>Sophia Owen</name> <occupation>Engineer</occupation> </person> </root>'))

E retorna este resultado:

{
   "?xml": { 
      "@version": "1.0" 
   },
   "root": {
      "person": {
         "@id": "1",
         "name": "Sophia Owen",
         "occupation": "Engineer"
      }
   }
}

Exemplo 4

Este exemplo usa as funções json() e xml() para converter XML que tem vários elementos filho no elemento raiz em uma matriz chamada person que contém objetos JSON para esses elementos filho:

json(xml('<?xml version="1.0"?> <root> <person id="1"> <name>Sophia Owen</name> <occupation>Engineer</occupation> </person> <person id="2"> <name>John Doe</name> <occupation>Engineer</occupation> </person> </root>'))

E retorna este resultado:

{
   "?xml": {
      "@version": "1.0"
   },
   "root": {
      "person": [
         {
            "@id": "1",
            "name": "Sophia Owen",
            "occupation": "Engineer"
         },
         {
            "@id": "2",
            "name": "John Doe",
            "occupation": "Engineer"
         }
      ]
   }
}

interseção

Retornar uma coleção que tem somente os itens comuns entre as coleções especificadas. Para aparecer no resultado, um item deve ser exibido em todas as coleções passadas para essa função. Se um ou mais itens tiverem o mesmo nome, o último item com o nome será exibido neste resultado.

intersection([<collection1>], [<collection2>], ...)
intersection('<collection1>', '<collection2>', ...)
Parâmetro Obrigatório Type Descrição
<colleção1>, <colleção2>, ... Sim Matriz ou objeto, mas não ambos As coleções da qual você deseja somente os itens comuns
Valor retornado Type Descrição
<common-items> Array ou Object, respectivamente Uma coleção que tem somente os itens comuns entre as coleções especificadas

Exemplo

Esse exemplo localiza os itens comuns entre estas matrizes:

intersection(createArray(1, 2, 3), createArray(101, 2, 1, 10), createArray(6, 8, 1, 2))

E retorna uma matriz com apenas estes itens: [1, 2]

join

Retornar uma cadeia de caracteres que tem todos os itens de uma matriz e tem cada caractere separado por um delimitador.

join([<collection>], '<delimiter>')
Parâmetro Obrigatório Type Descrição
<collection> Sim Array A matriz que tem os itens a serem ingressados
<delimiter> Sim String O separador exibido entre cada caractere na cadeia de caracteres resultante
Valor retornado Type Descrição
<caractere1><delimitador><caractere2><delimitador>... String A cadeia de caracteres resultante criada com base em todos os itens na matriz especificada.



Observação: o tamanho do resultado não deve exceder 104.857.600 caracteres.

Exemplo

Esse exemplo cria uma cadeia de caracteres com base em todos os itens nessa matriz com o caractere especificado como o delimitador:

join(createArray('a', 'b', 'c'), '.')

E retorna este resultado: "a.b.c"

L

last

Retornar o último item de uma coleção.

last('<collection>')
last([<collection>])
Parâmetro Obrigatório Type Descrição
<collection> Sim String ou Array A coleção na qual localizar o último item
Valor retornado Type Descrição
<last-collection-item> String ou Array, respectivamente O último item na coleção

Exemplo

Esses exemplos localizam o último item nestas coleções:

last('abcd')
last(createArray(0, 1, 2, 3))

E retorna estes resultados:

  • Primeiro exemplo: "d"
  • Segundo exemplo: 3

lastIndexOf

Retorna a posição inicial ou valor de índice para a última ocorrência de uma subcadeia de caracteres. Essa função não diferencia maiúsculas de minúsculas, e os índices começam com o número 0.

lastIndexOf('<text>', '<searchText>')
Parâmetro Obrigatório Type Descrição
<text> Sim String A cadeia de caracteres que tem a subcadeia de caracteres a ser localizada
<searchText> Sim String A subcadeia de caracteres a ser localizada
Valor retornado Type Descrição
<ending-index-value> Integer A posição inicial ou valor de índice da última ocorrência da subcadeia de caracteres especificada.

Se o valor da cadeia de caracteres ou de substring estiver vazio, ocorrerá o seguinte comportamento:

  • Se apenas o valor da cadeia de caracteres estiver vazio, a função retornará -1.

  • Se os valores da cadeia de caracteres e de substring estiverem vazios, a função retornará 0.

  • Se apenas o valor de substring estiver vazio, a função retornará o comprimento da cadeia de caracteres menos 1.

Exemplos

Este exemplo encontra o valor de índice inicial para a última ocorrência de substring world substring na cadeia de caracteres hello world hello world. O resultado retornado é 18:

lastIndexOf('hello world hello world', 'world')

Este exemplo não tem o parâmetro de substring e retorna um valor de 22 porque o valor da cadeia de caracteres de entrada (23) menos 1 é maior que 0.

lastIndexOf('hello world hello world', '')

comprimento

Retornar o número de itens em uma coleção.

length('<collection>')
length([<collection>])
Parâmetro Obrigatório Type Descrição
<collection> Sim String ou Array A coleção com os itens a serem contados
Valor retornado Type Descrição
<length-or-count> Integer O número de itens na coleção

Exemplo

Esses exemplos contam o número de itens nestas coleções:

length('abcd')
length(createArray(0, 1, 2, 3))

E retornam este resultado: 4

less

Verificar se o primeiro valor é menor que o segundo valor. Retornará true quando o primeiro valor for menor ou retornará false quando o primeiro valor for maior.

less(<value>, <compareTo>)
less('<value>', '<compareTo>')
Parâmetro Obrigatório Type Descrição
<value> Sim Integer, Float ou String O primeiro valor para verificar se é menor do que o segundo
<compareTo> Sim Integer, Float ou String, respectivamente O item de comparação
Valor retornado Type Descrição
true ou false Boolean Retornará true quando o primeiro valor for menor que o segundo. Retornará false quando o primeiro valor for igual ou maior que o segundo.

Exemplo

Esses exemplos verificam se o primeiro valor é menor que o segundo.

less(5, 10)
less('banana', 'apple')

E retornam estes resultados:

  • Primeiro exemplo: true
  • Segundo exemplo: false

lessOrEquals

Verificar se o primeiro valor é inferior ou igual ao segundo valor. Retornará true quando o primeiro valor for inferior ou igual ou retornará false quando o primeiro valor for superior.

lessOrEquals(<value>, <compareTo>)
lessOrEquals('<value>', '<compareTo>')
Parâmetro Obrigatório Type Descrição
<value> Sim Integer, Float ou String O primeiro valor para verificar se é inferior ou igual ao segundo
<compareTo> Sim Integer, Float ou String, respectivamente O item de comparação
Valor retornado Type Descrição
true ou false Boolean Retornará true quando o primeiro valor for inferior ou igual ao segundo valor. Retornará false quando o primeiro valor for maior que o segundo.

Exemplo

Esses exemplos verificam se o primeiro valor é inferior ou igual ao segundo.

lessOrEquals(10, 10)
lessOrEquals('apply', 'apple')

E retornam estes resultados:

  • Primeiro exemplo: true
  • Segundo exemplo: false

listCallbackUrl

Retornar a "URL de retorno de chamada" que chama um gatilho ou uma ação. Essa função funciona somente com gatilhos e ações para os tipos de conector HttpWebhook e ApiConnectionWebhook, mas não os tipos Manual, Recurrence, HTTP e APIConnection.

listCallbackUrl()
Valor retornado Type Descrição
<callback-URL> String A URL de retorno de chamada para um gatilho ou uma ação

Exemplo

Esse exemplo mostra um exemplo de URL de retorno de chamada que esta função pode retornar:

"https://prod-01.westus.logic.azure.com:443/workflows/<*workflow-ID*>/triggers/manual/run?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=<*signature-ID*>"

M

max

Retornar o maior valor de uma lista ou matriz com números inclusivos em ambas as extremidades.

max(<number1>, <number2>, ...)
max([<number1>, <number2>, ...])
Parâmetro Obrigatório Type Descrição
<número1>, <número2>, ... Sim Integer, Float ou ambos O conjunto de números do qual você deseja o valor mais alto
[<número1>, <número2>, ...] Sim Array – Integer, Float ou ambos A matriz de números da qual você deseja o valor mais alto
Valor retornado Type Descrição
<max-value> Integer ou Float O valor mais alto na matriz ou conjunto de números especificado

Exemplo

Esses exemplos obtêm o valor mais alto do conjunto de números e da matriz:

max(1, 2, 3)
max(createArray(1, 2, 3))

E retornam este resultado: 3

Min

Retornar o valor mais baixo de um conjunto de números ou de uma matriz.

min(<number1>, <number2>, ...)
min([<number1>, <number2>, ...])
Parâmetro Obrigatório Type Descrição
<número1>, <número2>, ... Sim Integer, Float ou ambos O conjunto de números do qual você deseja o valor mais baixo
[<número1>, <número2>, ...] Sim Array – Integer, Float ou ambos A matriz de números da qual você deseja o valor mais baixo
Valor retornado Type Descrição
<min-value> Integer ou Float O valor mais baixo no conjunto de números ou matriz especificado

Exemplo

Esses exemplos obtêm o valor mais baixo no conjunto de números e na matriz:

min(1, 2, 3)
min(createArray(1, 2, 3))

E retornam este resultado: 1

mod

Retornar o resto da divisão de dois números. Para obter o resultado inteiro, confira div().

mod(<dividend>, <divisor>)
Parâmetro Obrigatório Type Descrição
<dividend> Sim Integer ou Float O número a ser dividido pelo divisor
<divisor> Sim Integer ou Float O número que divide o dividendo, mas não pode ser zero
Valor retornado Type Descrição
<modulo-result> Integer ou Float O resto da divisão do primeiro número pelo segundo

Exemplo 1

O exemplo divide o primeiro número pelo segundo:

mod(3, 2)

E retorna este resultado: 1

Exemplo 2

Este exemplo mostra que se um ou ambos os valores forem negativos, o resultado corresponde ao sinal do dividendo:

mod(-5, 2)
mod(4, -3)

O exemplo retorna estes resultados:

  • Primeiro exemplo: -1
  • Segundo exemplo: 1

mul

Retornar o produto da multiplicação de dois números.

mul(<multiplicand1>, <multiplicand2>)
Parâmetro Obrigatório Type Descrição
<multiplicand1> Sim Integer ou Float O número a ser multiplicado por multiplicand2
<multiplicand2> Sim Integer ou Float O número que multiplica multiplicand1
Valor retornado Type Descrição
<product-result> Integer ou Float O produto da multiplicação do primeiro número pelo segundo

Exemplo

Esses exemplos multiplicam o primeiro número pelo segundo:

mul(1, 2)
mul(1.5, 2)

E retornam estes resultados:

  • Primeiro exemplo: 2
  • Segundo exemplo 3

multipartBody

Retornar o corpo de uma parte específica na saída de uma ação que tem várias partes.

multipartBody('<actionName>', <index>)
Parâmetro Obrigatório Type Descrição
<actionName> Sim String O nome da ação que tem saída com várias partes
<index> Sim Integer O valor de índice da parte desejada
Valor retornado Type Descrição
<body> String O corpo da parte especificada

N

não

Verificar se uma expressão é falsa. Retornará true quando a expressão for falsa ou retornará false quando for verdadeira.

not(<expression>)
Parâmetro Obrigatório Type Descrição
<expression> Sim Boolean A expressão a ser verificada
Valor retornado Type Descrição
true ou false Boolean Retornará true quando a expressão for falsa. Retornará false quando a expressão for verdadeira.

Exemplo 1

Esses exemplos verificam se as expressões especificadas são false:

not(false)
not(true)

E retornam estes resultados:

  • Primeiro exemplo: A expressão é false, então a função retorna true.
  • Segundo exemplo: A expressão é true, então a função retorna false.

Exemplo 2

Esses exemplos verificam se as expressões especificadas são false:

not(equals(1, 2))
not(equals(1, 1))

E retornam estes resultados:

  • Primeiro exemplo: A expressão é false, então a função retorna true.
  • Segundo exemplo: A expressão é true, então a função retorna false.

nthIndexOf

Retorna a posição inicial ou o valor de índice em que a n-ésima ocorrência de uma subcadeia de caracteres aparece em uma cadeia de caracteres.

nthIndexOf('<text>', '<searchText>', <occurrence>)
Parâmetro Obrigatório Type Descrição
<text> Sim String A cadeia de caracteres que contém a subcadeia de caracteres a ser localizada
<searchText> Sim String A subcadeia de caracteres a ser localizada
<occurrence> Sim Integer Um número que especifica a n-ésima ocorrência da substring a ser encontrada. Se a ocorrência for negativa, inicie a pesquisa a partir do final.
Valor retornado Type Descrição
<index-value> Integer A posição inicial ou valor de índice da n-ésima ocorrência da subcadeia de caracteres especificada. Se a subcadeia de caracteres não for encontrada ou menos de n ocorrências da subcadeia de caracteres existirem, retornará -1.

Exemplos

nthIndexOf('123456789123465789', '1', 1) // Returns `0`.
nthIndexOf('123456789123465789', '1', 2) // Returns `9`.
nthIndexOf('123456789123465789', '12', 2) // Returns `9`.
nthIndexOf('123456789123465789', '6', 4) // Returns `-1`.

O

ou

Verificar se pelo menos uma expressão é verdadeira. Retornará true quando pelo menos uma expressão for verdadeira ou false quando todas forem falsas.

or(<expression1>, <expression2>, ...)
Parâmetro Obrigatório Type Descrição
<expression1>, <expression2>, ... Sim Boolean As expressões a serem verificadas
Valor retornado Type Descrição
true ou false Boolean Retornará true quando pelo menos uma expressão for verdadeira. Retornará false quando todas as expressões forem falsas.

Exemplo 1

Esses exemplos verificam se pelo menos uma expressão é true:

or(true, false)
or(false, false)

E retornam estes resultados:

  • Primeiro exemplo: No mínimo, uma expressão é true, então a função retorna true.
  • Segundo exemplo: Ambas as expressões são false, então a função retorna false.

Exemplo 2

Esses exemplos verificam se pelo menos uma expressão é true:

or(equals(1, 1), equals(1, 2))
or(equals(1, 2), equals(1, 3))

E retornam estes resultados:

  • Primeiro exemplo: No mínimo, uma expressão é true, então a função retorna true.
  • Segundo exemplo: Ambas as expressões são false, então a função retorna false.

outputs

Retorna as saídas de uma ação em runtime. Use essa função, em vez de actionOutputs(), que é resolvida como outputs() no designer. Embora as funções funcionem da mesma forma, outputs() é preferencial.

outputs('<actionName>')
Parâmetro Obrigatório Type Descrição
<actionName> Sim String O nome da saída da ação desejada
Valor retornado Type Descrição
<output> String A saída da ação especificada

Exemplo

Esse exemplo obtém a saída da ação de Twitter Get user:

outputs('Get_user')

E retorna este resultado:

{
  "statusCode": 200,
  "headers": {
    "Pragma": "no-cache",
    "Vary": "Accept-Encoding",
    "x-ms-request-id": "a916ec8f52211265d98159adde2efe0b",
    "X-Content-Type-Options": "nosniff",
    "Timing-Allow-Origin": "*",
    "Cache-Control": "no-cache",
    "Date": "Mon, 09 Apr 2018 18:47:12 GMT",
    "Set-Cookie": "ARRAffinity=b9400932367ab5e3b6802e3d6158afffb12fcde8666715f5a5fbd4142d0f0b7d;Path=/;HttpOnly;Domain=twitter-wus.azconn-wus.p.azurewebsites.net",
    "X-AspNet-Version": "4.0.30319",
    "X-Powered-By": "ASP.NET",
    "Content-Type": "application/json; charset=utf-8",
    "Expires": "-1",
    "Content-Length": "339"
  },
  "body": {
    "FullName": "Contoso Corporation",
    "Location": "Generic Town, USA",
    "Id": 283541717,
    "UserName": "ContosoInc",
    "FollowersCount": 172,
    "Description": "Leading the way in transforming the digital workplace.",
    "StatusesCount": 93,
    "FriendsCount": 126,
    "FavouritesCount": 46,
    "ProfileImageUrl": "https://pbs.twimg.com/profile_images/908820389907722240/gG9zaHcd_400x400.jpg"
  }
}

P

parâmetros

Retorna o valor de um parâmetro descrito na definição de fluxo de trabalho.

parameters('<parameterName>')
Parâmetro Obrigatório Type Descrição
<parameterName> Sim String O nome do parâmetro cujo valor você deseja
Valor retornado Type Descrição
<parameter-value> Qualquer O valor do parâmetro especificado

Exemplo

Suponha que você tenha este valor JSON:

{
  "fullName": "Sophia Owen"
}

Esse exemplo obtém o valor do parâmetro especificado:

parameters('fullName')

E retorna este resultado: "Sophia Owen"

parseDateTime

Retorna o carimbo de data/hora de uma cadeia de caracteres que contenha um carimbo de hora.

parseDateTime('<timestamp>', '<locale>'?, '<format>'?)
Parâmetro Obrigatório Type Descrição
<timestamp> Sim String Uma cadeia de caracteres que contém o carimbo de data/hora
<locale> Não String A localidade a ser usada.

Se não for especificada, a localidade padrão será en-us.

Se a localidade não for um valor válido, um erro será gerado.
<format> Não String Uma cadeia de caracteres de formato numérico que é um especificador de formato único ou um padrão de formato personalizado. O formato padrão do carimbo de data/hora é "o" (aaaa-MM-ddTHH:mm:ss.fffffffK), compatível com a ISO 8601 e que preserva informações de fuso horário. Se o formato não for especificado, tente analisar com vários formatos compatíveis com a localidade fornecida. Se o formato não for um valor válido, um erro será gerado.
Valor retornado Type Descrição
<parsed-timestamp> Cadeia de caracteres O carimbo de data/hora analisado no formato "o" (aaaa-MM-ddTHH:mm:ss.fffffffK), compatível com a ISO 8601 e que preserva informações de fuso horário.

Exemplos

parseDateTime('20/10/2014', 'fr-fr') // Returns '2014-10-20T00:00:00.0000000'.
parseDateTime('20 octobre 2010', 'fr-FR') // Returns '2010-10-20T00:00:00.0000000'.
parseDateTime('martes 20 octubre 2020', 'es-es') // Returns '2020-10-20T00:00:00.0000000'.
parseDateTime('21052019', 'fr-fr', 'ddMMyyyy') // Returns '2019-05-21T00:00:00.0000000'.
parseDateTime('10/20/2014 15h', 'en-US', 'MM/dd/yyyy HH\h') // Returns '2014-10-20T15:00:00.0000000'.

R

rand

Retornar um inteiro aleatório de um intervalo especificado, inclusivo apenas na extremidade inicial.

rand(<minValue>, <maxValue>)
Parâmetro Obrigatório Type Descrição
<minValue> Sim Integer O menor inteiro no intervalo
<maxValue> Sim Integer O inteiro que segue o inteiro mais alto no intervalo que a função pode retornar
Valor retornado Type Descrição
<random-result> Integer O inteiro aleatório retornado do intervalo especificado

Exemplo

Esse exemplo obtém um inteiro aleatório do intervalo especificado, excluindo o valor máximo:

rand(1, 5)

E retorna um destes números como o resultado: 1, 2, 3 ou 4

range

Retornar uma matriz de inteiros que começa em um inteiro especificado.

range(<startIndex>, <count>)
Parâmetro Obrigatório Type Descrição
<startIndex> Sim Integer Um número inteiro que inicia a matriz como o primeiro item
<count> Sim Integer O número de inteiros na matriz. O valor de parâmetro count deve ser um inteiro positivo que não exceda 100.000.



Observação: a soma dos valores startIndex e count não deve exceder 2.147.483.647.
Valor retornado Type Descrição
[<intervalo-de-resultados>] Array A matriz com inteiros que começa no índice especificado

Exemplo

Esse exemplo cria uma matriz de inteiros que começa no índice especificado e tem o número de inteiros especificado:

range(1, 4)

E retorna este resultado: [1, 2, 3, 4]

removeProperty

Remover uma propriedade de um objeto e retornar o objeto atualizado. Se a propriedade que você tentar remover não existir, a função retornará o objeto original.

removeProperty(<object>, '<property>')
Parâmetro Obrigatório Type Descrição
<object> Sim Objeto O objeto JSON do qual você deseja remover uma propriedade
<property> Sim String O nome da propriedade a ser removida
Valor retornado Type Descrição
<updated-object> Objeto O objeto JSON atualizado sem a propriedade especificada

Para remover uma propriedade filho de uma propriedade existente, use esta sintaxe:

removeProperty(<object>['<parent-property>'], '<child-property>')
Parâmetro Obrigatório Type Descrição
<object> Sim Objeto O objeto JSON cuja propriedade você deseja remover
<parent-property> Sim String O nome da propriedade pai com a propriedade filho que você deseja remover
<child-property> Sim String O nome da propriedade filho a ser removida
Valor retornado Type Descrição
<updated-object> Objeto O objeto JSON atualizado cuja propriedade filho você removeu

Exemplo 1

Este exemplo remove a propriedade middleName de um objeto JSON, convertido de uma cadeia de caracteres em JSON com a função JSON() e retorna o objeto atualizado:

removeProperty(json('{ "firstName": "Sophia", "middleName": "Anne", "surName": "Owen" }'), 'middleName')

Este é o objeto JSON atual:

{
   "firstName": "Sophia",
   "middleName": "Anne",
   "surName": "Owen"
}

Este é o objeto JSON atualizado:

{
   "firstName": "Sophia",
   "surName": "Owen"
}

Exemplo 2

Este exemplo remove a propriedade filho middleName de uma propriedade pai customerName em um objeto JSON, que é convertido de uma cadeia de caracteres em JSON com a função JSON() e retorna o objeto atualizado:

removeProperty(json('{ "customerName": { "firstName": "Sophia", "middleName": "Anne", "surName": "Owen" } }')['customerName'], 'middleName')

Este é o objeto JSON atual:

{
   "customerName": {
      "firstName": "Sophia",
      "middleName": "Anne",
      "surName": "Owen"
   }
}

Este é o objeto JSON atualizado:

{
   "customerName": {
      "firstName": "Sophia",
      "surName": "Owen"
   }
}

substituir

Substituir uma subcadeia de caracteres pela cadeia de caracteres especificada e retornar a cadeia de caracteres resultante. Essa função diferencia maiúsculas de minúsculas.

replace('<text>', '<oldText>', '<newText>')
Parâmetro Obrigatório Type Descrição
<text> Sim String A cadeia de caracteres que tem a subcadeia de caracteres a ser substituída
<oldText> Sim String A subcadeia de caracteres a ser substituída
<newText> Sim String A cadeia de caracteres de substituição
Valor retornado Type Descrição
<updated-text> String A cadeia de caracteres atualizada após substituir a subcadeia de caracteres

Se a subcadeia de caracteres não for localizada, retorne a cadeia de caracteres original.

Exemplo

Esse exemplo localiza a subcadeia de caracteres "antiga" em "a antiga cadeia de caracteres" e substitui "antiga" por "nova":

replace('the old string', 'old', 'new')

E retorna este resultado: "the new string"

result

Retorna os resultados das ações primárias na ação com escopo especificada, como uma ação For_each, Until ou Scope. A função result() aceita um único parâmetro, que é o nome do escopo, e retorna uma matriz que contém informações das ações de primeiro nível nesse escopo. Esses objetos de ação incluem os mesmos atributos que os atributos retornados pela função actions(), como hora de início, hora de término, status, entradas, IDs de correlação e saídas da ação.

Observação

Essa função retorna informações apenas das ações de primeiro nível na ação com escopo e não de ações aninhadas mais profundas, como ações de alternância ou condição.

Por exemplo, você pode usar essa função para obter os resultados de ações com falha para poder diagnosticar e tratar exceções. Para obter mais informações, confira Obter o contexto e os resultados de falhas.

result('<scopedActionName>')
Parâmetro Obrigatório Type Descrição
<scopedActionName> Sim String O nome da ação com escopo em cujo escopo você deseja que estejam as entradas e saídas das ações primárias
Valor retornado Type Descrição
<array-object> Objeto Array Uma matriz que contém matrizes de entradas e saídas de cada ação primária dentro do escopo especificado

Exemplo

Este exemplo retorna as entradas e as saídas de cada iteração de uma ação HTTP dentro de um loop For_each usando a função result() na ação Compose:

{
   "actions": {
      "Compose": {
         "inputs": "@result('For_each')",
         "runAfter": {
            "For_each": [
               "Succeeded"
            ]
         },
         "type": "compose"
      },
      "For_each": {
         "actions": {
            "HTTP": {
               "inputs": {
                  "method": "GET",
                  "uri": "https://httpstat.us/200"
               },
               "runAfter": {},
               "type": "Http"
            }
         },
         "foreach": "@triggerBody()",
         "runAfter": {},
         "type": "Foreach"
      }
   }
}

Veja a seguir a possível aparência do exemplo de matriz retornado, em que o objeto outputs externo contém as entradas e as saídas de cada iteração das ações dentro da ação For_each.

[
   {
      "name": "HTTP",
      "outputs": [
         {
            "name": "HTTP",
            "inputs": {
               "uri": "https://httpstat.us/200",
               "method": "GET"
            },
            "outputs": {
               "statusCode": 200,
               "headers": {
                   "X-AspNetMvc-Version": "5.1",
                   "Access-Control-Allow-Origin": "*",
                   "Cache-Control": "private",
                   "Date": "Tue, 20 Aug 2019 22:15:37 GMT",
                   "Set-Cookie": "ARRAffinity=0285cfbea9f2ee7",
                   "Server": "Microsoft-IIS/10.0",
                   "X-AspNet-Version": "4.0.30319",
                   "X-Powered-By": "ASP.NET",
                   "Content-Length": "0"
               },
               "startTime": "2019-08-20T22:15:37.6919631Z",
               "endTime": "2019-08-20T22:15:37.95762Z",
               "trackingId": "6bad3015-0444-4ccd-a971-cbb0c99a7.....",
               "clientTrackingId": "085863526764.....",
               "code": "OK",
               "status": "Succeeded"
            }
         },
         {
            "name": "HTTP",
            "inputs": {
               "uri": "https://httpstat.us/200",
               "method": "GET"
            },
            "outputs": {
            "statusCode": 200,
               "headers": {
                   "X-AspNetMvc-Version": "5.1",
                   "Access-Control-Allow-Origin": "*",
                   "Cache-Control": "private",
                   "Date": "Tue, 20 Aug 2019 22:15:37 GMT",
                   "Set-Cookie": "ARRAffinity=0285cfbea9f2ee7",
                   "Server": "Microsoft-IIS/10.0",
                   "X-AspNet-Version": "4.0.30319",
                   "X-Powered-By": "ASP.NET",
                   "Content-Length": "0"
               },
               "startTime": "2019-08-20T22:15:37.6919631Z",
               "endTime": "2019-08-20T22:15:37.95762Z",
               "trackingId": "9987e889-981b-41c5-aa27-f3e0e59bf69.....",
               "clientTrackingId": "085863526764.....",
               "code": "OK",
               "status": "Succeeded"
            }
         }
      ]
   }
]

reverse

Inverter a ordem dos itens em uma coleção. Ao usar essa função com sort(), você pode classificar uma coleção em ordem decrescente.

reverse([<collection>])
Parâmetro Obrigatório Type Descrição
<collection> Sim Array A coleção a ser invertida
Valor retornado Type Descrição
[<coleção-atualizada>] Array A coleção invertida

Exemplo

Este exemplo inverte uma matriz de inteiros:

reverse(createArray(0, 1, 2, 3))

E retorna esta matriz: [3,2,1,0]

S

setProperty

Define o valor da propriedade do objeto JSON e retorna o objeto atualizado. Se a propriedade que você tentar definir não existir, a propriedade será adicionada ao objeto. Para adicionar uma nova propriedade, use a função addProperty().

setProperty(<object>, '<property>', <value>)
Parâmetro Obrigatório Type Descrição
<object> Sim Objeto O objeto JSON cuja propriedade você deseja definir
<property> Sim String O nome da propriedade nova ou existente a ser definida
<value> Sim Qualquer O valor a ser definido para a propriedade especificada

Para definir a propriedade filho em um objeto filho, use uma chamada setProperty() aninhada. Caso contrário, a função retornará apenas o objeto filho como a saída.

setProperty(<object>, '<parent-property>', setProperty(<object>['parentProperty'], '<child-property>', <value>))
Parâmetro Obrigatório Type Descrição
<object> Sim Objeto O objeto JSON cuja propriedade você deseja definir
<parent-property> Sim String O nome da propriedade pai com a propriedade filho que você deseja definir
<child-property> Sim String O nome da propriedade filho a ser definida
<value> Sim Qualquer O valor a ser definido para a propriedade especificada
Valor retornado Type Descrição
<updated-object> Objeto O objeto JSON atualizado cuja propriedade você define

Exemplo 1

Este exemplo define a propriedade surName em um objeto JSON, que é convertido de uma cadeia de caracteres em JSON por meio da função JSON(). A função atribui o valor especificado à propriedade e retorna o objeto atualizado:

setProperty(json('{ "firstName": "Sophia", "surName": "Owen" }'), 'surName', 'Hartnett')

Este é o objeto JSON atual:

{
   "firstName": "Sophia",
   "surName": "Owen"
}

Este é o objeto JSON atualizado:

{
   "firstName": "Sophia",
   "surName": "Hartnett"
}

Exemplo 2

Este exemplo define a propriedade filho surName para a propriedade pai customerName em um objeto JSON, que é convertido de uma cadeia de caracteres em JSON por meio da função JSON(). A função atribui o valor especificado à propriedade e retorna o objeto atualizado:

setProperty(json('{ "customerName": { "firstName": "Sophia", "surName": "Owen" } }'), 'customerName', setProperty(json('{ "customerName": { "firstName": "Sophia", "surName": "Owen" } }')['customerName'], 'surName', 'Hartnett'))

Este é o objeto JSON atual:

{
   "customerName": {
      "firstName": "Sophie",
      "surName": "Owen"
   }
}

Este é o objeto JSON atualizado:

{
   "customerName": {
      "firstName": "Sophie",
      "surName": "Hartnett"
   }
}

skip

Remover itens do início de uma coleção e retornar todos os outros itens.

skip([<collection>], <count>)
Parâmetro Obrigatório Type Descrição
<collection> Sim Array A coleção cujos itens você deseja remover
<count> Sim Integer Um inteiro positivo para o número de itens a ser removido no início
Valor retornado Type Descrição
[<coleção-atualizada>] Array A coleção atualizada depois de remover os itens especificados

Exemplo

Esse exemplo remove um item, o número 0, do início da matriz especificada:

skip(createArray(0, 1, 2, 3), 1)

E retorna essa matriz com os itens restantes: [1,2,3]

fatia

Retorna uma subcadeia de caracteres especificando a posição inicial e final ou o valor. Consulte também substring().

slice('<text>', <startIndex>, <endIndex>?)
Parâmetro Obrigatório Type Descrição
<text> Sim String A cadeia de caracteres que contém a subcadeia de caracteres a ser localizada
<startIndex> Sim Inteiro A posição inicial baseada em zero ou o valor de onde começar a procurar a subcadeia de caracteres

– Se startIndex for maior que o comprimento da cadeia de caracteres, retornará uma cadeia de caracteres vazia.

– Se startIndex for negativo, comece a pesquisar no valor do índice que é a soma do comprimento da cadeia de caracteres com o startIndex.
<endIndex> Não Integer A posição final baseada em zero ou o valor por onde terminar a pesquisar a subcadeia de caracteres. O caractere localizado no valor do índice final não está incluído na pesquisa.

– Se endIndex não for especificado ou for maior que o comprimento da cadeia de caracteres, pesquise até o final da cadeia de caracteres.

– Se endIndex for negativo, termine a pesquisa no valor de índice que corresponde à soma do comprimento da cadeia de caracteres com o endIndex.
Valor retornado Type Descrição
<slice-result> Cadeia de caracteres Uma nova cadeia de caracteres que contém a subcadeia de caracteres encontrada

Exemplos

slice('Hello World', 2) // Returns 'llo World'.
slice('Hello World', 30) // Returns ''.
slice('Hello World', 10, 2) // Returns ''.
slice('Hello World', 0) // Returns 'Hello World'.
slice('Hello World', 2, 5) // Returns 'llo'.
slice('Hello World', 6, 20) // Returns 'World'.
slice('Hello World', -2) // Returns 'ld'.
slice('Hello World', 3, -1) // Returns 'lo Worl'.
slice('Hello World', 3, 3) // Returns ''.

sort

Classificar itens de uma coleção. Você pode classificar os objetos de coleção usando qualquer chave que contenha um tipo simples.

sort([<collection>], <sortBy>?)
Parâmetro Obrigatório Type Descrição
<collection> Sim Array A coleção com os itens a serem classificados
<sortBy> Não String A chave a ser usada para classificar os objetos de coleção
Valor retornado Type Descrição
[<coleção-atualizada>] Array A coleção classificada

Exemplo 1

Este exemplo classifica uma matriz de inteiros:

sort(createArray(2, 1, 0, 3))

E retorna esta matriz: [0,1,2,3]

Exemplo 2

Este exemplo classifica uma matriz de objetos por chave:

sort(createArray(json('{ "first": "Amalie", "last": "Rose" }'), json('{ "first": "Elise", "last": "Renee" }')), 'last')

E retorna esta matriz: [{ "first": "Elise", "last": "Renee" }, {"first": "Amalie", "last": "Rose" }')]

split

Retorna uma matriz que contém substrings separadas por vírgulas com base no caractere delimitador especificado na cadeia de caracteres original.

split('<text>', '<delimiter>')
Parâmetro Obrigatório Type Descrição
<text> Sim String A cadeia de caracteres para separar em subcadeias de caracteres com base no delimitador especificado na cadeia de caracteres original
<delimiter> Sim String O caractere na cadeia de caracteres original para usar como delimitador
Valor retornado Type Descrição
[<subcadeia-de-caracteres1>,<subcadeia-de-caracteres2>,...] Array Uma matriz contendo subcadeias de caracteres da cadeia de caracteres original, separadas por vírgulas

Exemplo 1

Este exemplo cria uma matriz com subcadeias de caractere da cadeia de caracteres especificada com base no caractere especificado como o delimitador:

split('a_b_c', '_')

E retorna essa matriz como resultado: ["a","b","c"]

Exemplo 2

Este exemplo cria uma matriz com um único elemento quando não existe um delimitador na cadeia de caracteres:

split('a_b_c', ' ')

E retorna essa matriz como resultado: ["a_b_c"]

startOfDay

Retornar o início do dia de um carimbo de data/hora.

startOfDay('<timestamp>', '<format>'?)
Parâmetro Obrigatório Type Descrição
<timestamp> Sim String Uma cadeia de caracteres que contém o carimbo de data/hora
<format> Não String Uma cadeia de caracteres de formato numérico que é um especificador de formato único ou um padrão de formato personalizado. O formato padrão do carimbo de data/hora é "o" (aaaa-MM-ddTHH:mm:ss.fffffffK), compatível com a ISO 8601 e que preserva informações de fuso horário.

Se o formato não for um valor válido, um erro será gerado.
Valor retornado Type Descrição
<updated-timestamp> String O carimbo de data/hora especificado, mas começando na marca de zero hora para o dia

Exemplo

Esse exemplo localiza o início do dia para esse carimbo de data/hora:

startOfDay('2018-03-15T13:30:30Z')

E retorna este resultado: "2018-03-15T00:00:00.0000000Z"

startOfHour

Retornar o início da hora de um carimbo de data/hora.

startOfHour('<timestamp>', '<format>'?)
Parâmetro Obrigatório Type Descrição
<timestamp> Sim String Uma cadeia de caracteres que contém o carimbo de data/hora
<format> Não String Uma cadeia de caracteres de formato numérico que é um especificador de formato único ou um padrão de formato personalizado. O formato padrão do carimbo de data/hora é "o" (aaaa-MM-ddTHH:mm:ss.fffffffK), compatível com a ISO 8601 e que preserva informações de fuso horário.

Se o formato não for um valor válido, um erro será gerado.
Valor retornado Type Descrição
<updated-timestamp> String O carimbo de data/hora especificado, mas começando na marca de zero minuto para a hora

Exemplo

Esse exemplo localiza o início da hora para esse carimbo de data/hora:

startOfHour('2018-03-15T13:30:30Z')

E retorna este resultado: "2018-03-15T13:00:00.0000000Z"

startOfMonth

Retornar o início do mês de um carimbo de data/hora.

startOfMonth('<timestamp>', '<format>'?)
Parâmetro Obrigatório Type Descrição
<timestamp> Sim String Uma cadeia de caracteres que contém o carimbo de data/hora
<format> Não String Uma cadeia de caracteres de formato numérico que é um especificador de formato único ou um padrão de formato personalizado. O formato padrão do carimbo de data/hora é "o" (aaaa-MM-ddTHH:mm:ss.fffffffK), compatível com a ISO 8601 e que preserva informações de fuso horário.

Se o formato não for um valor válido, um erro será gerado.
Valor retornado Type Descrição
<updated-timestamp> String O carimbo de data/hora especificado, mas começando no primeiro dia do mês na marca de zero hora

Exemplo 1

Esse exemplo retorna o início do mês para este carimbo de data/hora:

startOfMonth('2018-03-15T13:30:30Z')

E retorna este resultado: "2018-03-01T00:00:00.0000000Z"

Exemplo 2

Este exemplo retorna o início do mês no formato especificado para este carimbo de data/hora:

startOfMonth('2018-03-15T13:30:30Z', 'yyyy-MM-dd')

E retorna este resultado: "2018-03-01"

startsWith

Verificar se uma cadeia de caracteres começa com uma subcadeia de caracteres específica. Retornará true quando a subcadeia de caracteres for localizada ou retornará false quando não for localizada. Essa função não diferencia maiúsculas de minúsculas.

startsWith('<text>', '<searchText>')
Parâmetro Obrigatório Type Descrição
<text> Sim String A cadeia de caracteres a ser verificada
<searchText> Sim String A cadeia de caracteres inicial a ser localizada
Valor retornado Type Descrição
true ou false Boolean Retornará true quando a subcadeia de caracteres inicial for localizada. Retorna false quando não localizada.

Exemplo 1

Esse exemplo verifica se a cadeia de caracteres "olá, mundo" começa com a subcadeia de caracteres "olá":

startsWith('hello world', 'hello')

E retorna este resultado: true

Exemplo 2

Esse exemplo verifica se a cadeia de caracteres "olá, mundo" começa com a subcadeia de caracteres "saudações":

startsWith('hello world', 'greetings')

E retorna este resultado: false

string

Retornar a versão de cadeia de caracteres para um valor.

string(<value>)
Parâmetro Obrigatório Type Descrição
<value> Sim Qualquer O valor a ser convertido. Se esse valor for nulo ou for avaliado como nulo, o valor será convertido em um valor de cadeia de caracteres ("") vazia.



Por exemplo, se você atribuir uma variável de cadeia de caracteres a uma propriedade não existente, que pode ser acessada com o operador ?, o valor nulo será convertido em uma cadeia de caracteres vazia. No entanto, comparar um valor nulo não é o mesmo que comparar uma cadeia de caracteres vazia.
Valor retornado Type Descrição
<string-value> String A versão de cadeia de caracteres do valor especificado. Se o parâmetro de valor for nulo ou for avaliado como nulo, esse valor será retornado como um valor de cadeia de caracteres ("") vazia.

Exemplo 1

Esse exemplo cria uma versão de cadeia para este número:

string(10)

E retorna este resultado: "10"

Exemplo 2

Esse exemplo cria uma cadeia de caracteres para o objeto JSON especificado e usa o caractere de barra invertida (\)como o caractere de escape para aspas duplas (").

string( { "name": "Sophie Owen" } )

E retorna este resultado: "{ \\"name\\": \\"Sophie Owen\\" }"

sub

Retornar o resultado da subtração do segundo número do primeiro.

sub(<minuend>, <subtrahend>)
Parâmetro Obrigatório Type Descrição
<minuend> Sim Integer ou Float O número do qual subtrair o subtraendo
<subtrahend> Sim Integer ou Float O número a ser subtraído do minuendo
Valor retornado Type Description
<result> Integer ou Float O resultado da subtração do segundo número do primeiro

Exemplo

Esse exemplo subtrai o segundo número do primeiro:

sub(10.3, .3)

E retorna este resultado: 10

substring

Retornar caracteres de uma cadeia de caracteres, começando na posição especificada, ou índice. Os valores de índice começam com o número 0. Consulte também slice().

substring('<text>', <startIndex>, <length>)
Parâmetro Obrigatório Type Descrição
<text> Sim String A cadeia de caracteres cujos caracteres você deseja
<startIndex> Sim Integer Um número positivo igual ou superior a 0 que você deseja usar como a posição inicial ou o valor do índice
<length> Não Integer Um número positivo de caracteres que você deseja na subcadeia de caracteres

Observação

Certifique-se de que a soma de adicionar os valores de parâmetro startIndex e length seja menor do que o comprimento da cadeia de caracteres que você fornecerá para o parâmetro text. Caso contrário, você receberá um erro, diferentemente de funções semelhantes em outras linguagens em que o resultado é a substring de startIndex para o final da cadeia de caracteres. O parâmetro length é opcional e se não for fornecido, a função substring () usa todos os caracteres desde startIndex até o final da cadeia de caracteres.

Valor retornado Type Descrição
<substring-result> String Uma subcadeia de caracteres com o número de caracteres especificado, começando na posição de índice especificada na cadeia de caracteres de origem

Exemplo

Esse exemplo cria uma subcadeia de caracteres de cinco caracteres com base na cadeia de caracteres especificada, começando no valor de índice 6:

substring('hello world', 6, 5)

E retorna este resultado: "world"

subtractFromTime

Subtrair um número de unidades de tempo de um carimbo de data/hora. Confira também getPastTime.

subtractFromTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
Parâmetro Obrigatório Type Descrição
<timestamp> Sim String Uma cadeia de caracteres que contém o carimbo de data/hora
<interval> Sim Integer O número de unidades de tempo especificadas a serem subtraídas
<timeUnit> Sim String Unidade de tempo a ser usado com intervalo: "Segundo", "Minuto", "Hora", "Dia", "Semana", "Mês", "Ano"
<format> Não String Uma cadeia de caracteres de formato numérico que é um especificador de formato único ou um padrão de formato personalizado. O formato padrão do carimbo de data/hora é "o" (aaaa-MM-ddTHH:mm:ss.fffffffK), compatível com a ISO 8601 e que preserva informações de fuso horário.

Se o formato não for um valor válido, um erro será gerado.
Valor retornado Type Descrição
<updated-timestamp> String O carimbo de data/hora menos o número de unidades de tempo especificado

Exemplo 1

Esse exemplo subtrai um dia desse carimbo de data/hora:

subtractFromTime('2018-01-02T00:00:00Z', 1, 'Day')

E retorna este resultado: "2018-01-01T00:00:00.0000000Z"

Exemplo 2

Esse exemplo subtrai um dia desse carimbo de data/hora:

subtractFromTime('2018-01-02T00:00:00Z', 1, 'Day', 'D')

E retorna este resultado usando o formato "D" opcional: "Monday, January, 1, 2018"

T

take

Retornar itens do início de uma coleção.

take('<collection>', <count>)
take([<collection>], <count>)
Parâmetro Obrigatório Type Descrição
<collection> Sim String ou Array A coleção cujos itens você deseja
<count> Sim Integer Um inteiro positivo para o número de itens que você deseja no início
Valor retornado Type Descrição
<subconjunto> ou [<subconjunto>] String ou Array, respectivamente Uma cadeia de caracteres ou matriz que tem o número de itens especificado extraído do início da coleção original

Exemplo

Esses exemplos obtêm o número de itens especificado no início destas coleções:

take('abcde', 3)
take(createArray(0, 1, 2, 3, 4), 3)

E retornam estes resultados:

  • Primeiro exemplo: "abc"
  • Segundo exemplo: [0, 1, 2]

ticks

Retorna o número de tiques, que são intervalos de 100 nanossegundos, desde 1º de janeiro de 0001 12h00min00s meia-noite (ou DateTime.Ticks em C#) até o carimbo de data/hora especificado. Para obter mais informações, confira este tópico: Propriedade DateTime.Ticks (sistema).

ticks('<timestamp>')
Parâmetro Obrigatório Type Descrição
<timestamp> Sim String A cadeia de caracteres de um carimbo de data/hora
Valor retornado Type Descrição
<ticks-number> Integer O número de tiques desde o carimbo de data/hora especificado

toLower

Retornar uma cadeia de caracteres em letras minúsculas. Se um caractere na cadeia de caracteres não tiver uma versão em minúsculas, esse caractere permanecerá inalterado na cadeia de caracteres retornada.

toLower('<text>')
Parâmetro Obrigatório Type Descrição
<text> Sim String A cadeia de caracteres a ser retornada no formato em minúsculas
Valor retornado Type Descrição
<lowercase-text> String A cadeia de caracteres original no formato em minúsculas

Exemplo

Esse exemplo converte essa cadeia de caracteres em minúsculas:

toLower('Hello World')

E retorna este resultado: "hello world"

toUpper

Retornar uma cadeia de caracteres em letras maiúsculas. Se um caractere na cadeia de caracteres não tiver uma versão em maiúsculas, esse caractere permanecerá inalterado na cadeia de caracteres retornada.

toUpper('<text>')
Parâmetro Obrigatório Type Descrição
<text> Sim String A cadeia de caracteres a ser retornada no formato em maiúsculas
Valor retornado Type Descrição
<uppercase-text> String A cadeia de caracteres original no formato em maiúsculas

Exemplo

Esse exemplo converte essa cadeia de caracteres em maiúsculas:

toUpper('Hello World')

E retorna este resultado: "HELLO WORLD"

gatilho

Retornar a saída de um gatilho em runtime ou os valores de outros pares de nome e valor JSON, que podem ser atribuídos a uma expressão.

  • Dentro das entradas de um gatilho, essa função retorna a saída da execução anterior.

  • Dentro da condição de um gatilho, essa função retorna a saída da execução atual.

Por padrão, a função referencia todo o objeto de gatilho, mas é possível especificar uma propriedade cujo valor você deseja. Além disso, essa função tem versões abreviadas disponíveis, consulte triggerOutputs() e triggerBody().

trigger()
Valor retornado Type Descrição
<trigger-output> String A saída de um gatilho em runtime

triggerBody

Retornar a saída body de um gatilho em runtime. Abreviação de trigger().outputs.body. Consulte trigger().

triggerBody()
Valor retornado Type Descrição
<trigger-body-output> String A saída body do gatilho

triggerFormDataMultiValues

Retornar uma matriz com valores que correspondem a um nome de chave na saída de dados de formulário ou codificada para formulário de um gatilho.

triggerFormDataMultiValues('<key>')
Parâmetro Obrigatório Type Descrição
<key> Sim String O nome da chave cujo valor você deseja
Valor retornado Type Descrição
[<<array-with-key-values>>] Array Uma matriz com todos os valores correspondentes à chave especificada

Exemplo

Este exemplo cria uma matriz do valor de chave "feedUrl" em uma saída de dados de formulário ou codificada para formulário de um gatilho RSS:

triggerFormDataMultiValues('feedUrl')

E retorna esta matriz como um resultado de exemplo: ["https://feeds.a.dj.com/rss/RSSMarketsMain.xml"]

triggerFormDataValue

Retornar uma cadeia de caracteres com um único valor que corresponde a um nome de chave na saída de dados de formulário ou codificada para formulário de um gatilho. Se a função localizar mais de uma correspondência, a função gerará um erro.

triggerFormDataValue('<key>')
Parâmetro Obrigatório Type Descrição
<key> Sim String O nome da chave cujo valor você deseja
Valor retornado Type Descrição
<key-value> String O valor na chave especificada

Exemplo

Este exemplo cria uma cadeia de caracteres do valor de chave "feedUrl" em uma saída de dados de formulário ou codificada para formulário de um gatilho RSS:

triggerFormDataValue('feedUrl')

E retorna esta cadeia de caracteres como um resultado de exemplo: "https://feeds.a.dj.com/rss/RSSMarketsMain.xml"

triggerMultipartBody

Retornar o corpo de uma parte específica na saída de um gatilho que tem várias partes.

triggerMultipartBody(<index>)
Parâmetro Obrigatório Type Descrição
<index> Sim Integer O valor de índice da parte desejada
Valor retornado Type Descrição
<body> String O corpo da parte especificada na saída de várias partes de um gatilho

triggerOutputs

Retornar a saída de um gatilho em runtime ou os valores de outros pares de nome e valor JSON. Abreviação de trigger().outputs. Consulte trigger().

triggerOutputs()
Valor retornado Type Descrição
<trigger-output> String A saída de um gatilho em runtime

cortar

Remover espaços em branco à esquerda e à direita de uma cadeia de caracteres e retornar a cadeia de caracteres atualizada.

trim('<text>')
Parâmetro Obrigatório Type Descrição
<text> Sim String A cadeia de caracteres que tem o espaço em branco à esquerda e à direita a ser removida
Valor retornado Type Descrição
<updatedText> String Uma versão atualizada da cadeia de caracteres original sem espaço em branco à esquerda ou à direita

Exemplo

Este exemplo remove o espaço em branco à esquerda e à direita da cadeia de caracteres "Olá, Mundo":

trim(' Hello World  ')

E retorna este resultado: "Hello World"

U

union

Retornar uma coleção que tem todos os itens das coleções especificadas. Para aparecer no resultado, um item pode ser exibido em qualquer coleção passada para essa função. Se um ou mais itens tiverem o mesmo nome, o último item com o nome será exibido neste resultado.

union('<collection1>', '<collection2>', ...)
union([<collection1>], [<collection2>], ...)
Parâmetro Obrigatório Type Descrição
<colleção1>, <colleção2>, ... Sim Matriz ou objeto, mas não ambos As coleções das quais você deseja todos os itens
Valor retornado Type Descrição
<updatedCollection> Array ou Object, respectivamente Uma coleção com todos os itens das coleções especificadas – sem duplicatas

Exemplo

Esse exemplo obtém todos os itens destas coleções:

union(createArray(1, 2, 3), createArray(1, 2, 10, 101))

E retorna este resultado: [1, 2, 3, 10, 101]

uriComponent

Retornar uma versão codificada para URI (Uniform Resource Identifier) para uma cadeia de caracteres substituindo caracteres desprotegidos de URL por caracteres de escape. Use esta função em vez de encodeUriComponent(). Embora as funções funcionem da mesma forma, uriComponent() é preferencial.

uriComponent('<value>')
Parâmetro Obrigatório Type Descrição
<value> Sim String A cadeia de caracteres a ser convertida em um formato codificado para URI
Valor retornado Type Descrição
<encoded-uri> String A cadeia de caracteres codificada para URI com caracteres de escape

Exemplo

Esse exemplo cria uma versão codificada para URI para esta cadeia de caracteres:

uriComponent('https://contoso.com')

E retorna este resultado: "https%3A%2F%2Fcontoso.com"

uriComponentToBinary

Retornar a versão binária de um componente URI (Uniform Resource Identifier).

uriComponentToBinary('<value>')
Parâmetro Obrigatório Type Descrição
<value> Sim String A cadeia de caracteres codificada para URI a ser convertida
Valor retornado Type Descrição
<binary-for-encoded-uri> String A versão binária da cadeia de caracteres codificada para URI. O conteúdo binário é codificado em Base64 e representado por $content.

Exemplo

Esse exemplo cria a versão binária para esta cadeia de caracteres codificada para URI:

uriComponentToBinary('https%3A%2F%2Fcontoso.com')

E retorna este resultado:

"001000100110100001110100011101000111000000100101001100 11010000010010010100110010010001100010010100110010010001 10011000110110111101101110011101000110111101110011011011 110010111001100011011011110110110100100010"

uriComponentToString

Retornar a versão de cadeia de caracteres para uma cadeia de caracteres codificada para URI (Uniform Resource Identifier), decodificando com eficácia a cadeia de caracteres codificada para URI.

uriComponentToString('<value>')
Parâmetro Obrigatório Type Descrição
<value> Sim String A cadeia de caracteres codificada para URI a ser decodificada
Valor retornado Type Descrição
<decoded-uri> String A versão decodificada para a cadeia de caracteres codificada para URI

Exemplo

Esse exemplo cria a versão de cadeia de caracteres decodificada para esta cadeia de caracteres codificada para URI:

uriComponentToString('https%3A%2F%2Fcontoso.com')

E retorna este resultado: "https://contoso.com"

uriHost

Retornar o valor host de um URI (Uniform Resource Identifier).

uriHost('<uri>')
Parâmetro Obrigatório Type Descrição
<uri> Sim String O URI cujo valor host você deseja
Valor retornado Type Descrição
<host-value> String O valor host do URI especificado

Exemplo

Esse exemplo localiza o valor host para este URI:

uriHost('https://www.localhost.com:8080')

E retorna este resultado: "www.localhost.com"

uriPath

Retornar o valor path de um URI (Uniform Resource Identifier).

uriPath('<uri>')
Parâmetro Obrigatório Type Descrição
<uri> Sim String O URI cujo valor path você deseja
Valor retornado Type Descrição
<path-value> String O valor path do URI especificado. Se path não tiver um valor, retorne o caractere "/".

Exemplo

Esse exemplo localiza o valor path para este URI:

uriPath('https://www.contoso.com/catalog/shownew.htm?date=today')

E retorna este resultado: "/catalog/shownew.htm"

uriPathAndQuery

Retornar os valores path e query de um URI (Uniform Resource Identifier).

uriPathAndQuery('<uri>')
Parâmetro Obrigatório Type Descrição
<uri> Sim String O URI cujos valores path e query você deseja
Valor retornado Type Descrição
<path-query-value> String Os valores path e query para o URI especificado. Se path não especificar um valor, retorne o caractere "/".

Exemplo

Esse exemplo localiza os valores path e query para este URI:

uriPathAndQuery('https://www.contoso.com/catalog/shownew.htm?date=today')

E retorna este resultado: "/catalog/shownew.htm?date=today"

uriPort

Retornar o valor port de um URI (Uniform Resource Identifier).

uriPort('<uri>')
Parâmetro Obrigatório Type Descrição
<uri> Sim String O URI cujo valor port você deseja
Valor retornado Type Descrição
<port-value> Integer O valor port do URI especificado. Se port não especificar um valor, retorne a porta padrão do protocolo.

Exemplo

Esse exemplo retorna o valor port deste URI:

uriPort('https://www.localhost:8080')

E retorna este resultado: 8080

uriQuery

Retornar o valor query de um URI (Uniform Resource Identifier).

uriQuery('<uri>')
Parâmetro Obrigatório Type Descrição
<uri> Sim String O URI cujo valor query você deseja
Valor retornado Type Descrição
<query-value> String O valor query do URI especificado

Exemplo

Esse exemplo retorna o valor query deste URI:

uriQuery('https://www.contoso.com/catalog/shownew.htm?date=today')

E retorna este resultado: "?date=today"

uriScheme

Retornar o valor scheme de um URI (Uniform Resource Identifier).

uriScheme('<uri>')
Parâmetro Obrigatório Type Descrição
<uri> Sim String O URI cujo valor scheme você deseja
Valor retornado Type Descrição
<scheme-value> String O valor scheme do URI especificado

Exemplo

Esse exemplo retorna o valor scheme deste URI:

uriScheme('https://www.contoso.com/catalog/shownew.htm?date=today')

E retorna este resultado: "http"

utcNow

Retornar o carimbo de data/hora atual.

utcNow('<format>')

Opcionalmente, é possível especificar um formato diferente com o parâmetro <formato>.

Parâmetro Obrigatório Type Descrição
<format> Não String Uma cadeia de caracteres de formato numérico que é um especificador de formato único ou um padrão de formato personalizado. O formato padrão do carimbo de data/hora é "o" (aaaa-MM-ddTHH:mm:ss.fffffffK), compatível com a ISO 8601 e que preserva informações de fuso horário.

Se o formato não for um valor válido, um erro será gerado.
Valor retornado Type Descrição
<current-timestamp> String A data e hora atual

Exemplo 1

Suponha que hoje é 15 de abril de 2018, às 13h. Esse exemplo obtém o carimbo de data/hora atual:

utcNow()

E retorna este resultado: "2018-04-15T13:00:00.0000000Z"

Exemplo 2

Suponha que hoje é 15 de abril de 2018, às 13h. Esse exemplo obtém o carimbo de data/hora atual usando o formato "D" opcional:

utcNow('D')

E retorna este resultado: "Sunday, April 15, 2018"

V

variáveis

Retornar o valor de uma variável especificada.

variables('<variableName>')
Parâmetro Obrigatório Type Descrição
<variableName> Sim String O nome da variável cujo valor você deseja
Valor retornado Type Descrição
<variable-value> Qualquer O valor da variável especificada

Exemplo

Suponha que o valor atual para uma variável "numItems" seja 20. Esse exemplo obtém o valor inteiro para esta variável:

variables('numItems')

E retorna este resultado: 20

W

fluxo de trabalho

Retornar todos os detalhes sobre o próprio fluxo de trabalho durante o tempo de execução.

workflow().<property>
Parâmetro Obrigatório Type Descrição
<property> Não String O nome da propriedade de fluxo de trabalho cujo valor você deseja



Por padrão, um objeto de fluxo de trabalho tem estas propriedades: name, type, id, location, run e tags.



– O valor da propriedade run é um objeto JSON que inclui estas propriedades: name, type e id.



– A propriedade tags é um objeto JSON que inclui marcas associadas ao aplicativo lógico nos Aplicativos Lógicos do Azure ou ao fluxo no Power Automate e os valores para essas marcas. Para obter mais informações sobre marcas nos recursos do Azure, veja Recursos de marca, grupos de recursos e assinaturas para a organização lógica no Azure.



Observação: por padrão, um aplicativo lógico não tem marcas, mas um fluxo do Power Automate tem as marcas flowDisplayName e environmentName.

Exemplo 1

Esse exemplo retorna o nome da execução atual de um fluxo de trabalho:

workflow().run.name

Exemplo 2

Se você usar o Power Automate, poderá criar uma expressão @workflow() que usa a propriedade de saída tags para obter os valores da propriedade flowDisplayName ou environmentName do fluxo.

Por exemplo, você pode enviar notificações de email personalizadas do próprio fluxo que se vinculam ao fluxo. Essas notificações podem incluir um link HTML que contém o nome de exibição do fluxo no título do email e segue esta sintaxe:

<a href=https://flow.microsoft.com/manage/environments/@{workflow()['tags']['environmentName']}/flows/@{workflow()['name']}/details>Open flow @{workflow()['tags']['flowDisplayName']}</a>

X

Xml

Retornar a versão XML de uma cadeia de caracteres que contém um objeto JSON.

xml('<value>')
Parâmetro Obrigatório Type Descrição
<value> Sim String A cadeia de caracteres com o objeto JSON a ser convertido

O objeto JSON deve ter apenas uma propriedade raiz, que não pode ser uma matriz.
Use o caractere de barra invertida (\) como um caractere de escape para aspas duplas (").
Valor retornado Type Descrição
<xml-version> Objeto O XML codificado para a cadeia de caracteres ou objeto JSON especificado

Exemplo 1

Esse exemplo converte a cadeia de caracteres em XML:

xml('<name>Sophia Owen</name>')

E retorna este XML de resultado:

<name>Sophia Owen</name>

Exemplo 2

Esse exemplo cria a versão XML desta cadeia de caracteres, que contém um objeto JSON:

xml(json('{ "name": "Sophia Owen" }'))

E retorna este XML de resultado:

<name>Sophia Owen</name>

Exemplo 3

Suponha que você tem este objeto JSON:

{
  "person": {
    "name": "Sophia Owen",
    "city": "Seattle"
  }
}

Esse exemplo cria o XML para uma cadeia de caracteres que contém este objeto JSON:

xml(json('{"person": {"name": "Sophia Owen", "city": "Seattle"}}'))

E retorna este XML de resultado:

<person>
  <name>Sophia Owen</name>
  <city>Seattle</city>
<person>

xpath

Verificar o XML em busca de nós ou valores correspondentes a uma expressão XPath (Linguagem XPath) e retornar esses nós ou valores. Uma expressão XPath, ou apenas "XPath", ajuda você a navegar por uma estrutura de documento XML para poder selecionar nós ou calcular valores no conteúdo XML.

Observação

Nos aplicativos lógicos de Consumo e Standard, todas as expressões de função usam a biblioteca XPath do .NET. As expressões XPath são compatíveis com a biblioteca .NET subjacente e são compatíveis apenas com a expressão que a biblioteca .NET subjacente é compatível.

xpath('<xml>', '<xpath>')
Parâmetro Obrigatório Type Descrição
<xml> Sim Qualquer A cadeia de caracteres XML na qual pesquisar nós ou valores correspondentes a um valor de expressão XPath
<xpath> Sim Qualquer A expressão XPath usada para localizar valores ou nós XML correspondentes
Valor retornado Type Descrição
<xml-node> XML Um nó XML quando um único nó corresponde à expressão XPath especificada
<value> Qualquer O valor de um nó XML quando apenas um único valor corresponde à expressão XPath especificada
[<nó-xml1>, <nó-xml2>, ...] -ou- [<valor1>, <valor2>, ...] Array Uma matriz com valores ou nós XML correspondentes à expressão XPath especificada

Exemplo 1

Suponha que você tem esta cadeia de caracteres XML 'items':

<?xml version="1.0"?>
<produce>
  <item>
    <name>Gala</name>
    <type>apple</type>
    <count>20</count>
  </item>
  <item>
    <name>Honeycrisp</name>
    <type>apple</type>
    <count>10</count>
  </item>
</produce>

Este exemplo passa a expressão XPath, '/produce/item/name/text()', para localizar os nós que correspondem ao nó <name></name> na cadeia de caracteres XML 'items' e retorna uma matriz com esses valores de nó:

xpath(xml(parameters('items')), '/produce/item/name/text()')

O exemplo também usa a função parameters() para obter a cadeia de caracteres XML de 'items' converter a cadeia de caracteres em formato XML usando a função xml().

Aqui está a matriz de resultados preenchida com valores dos nós que correspondem a <name></name>:

[ Gala, Honeycrisp ]

Exemplo 2

Seguindo o exemplo 1, este exemplo passa a expressão XPath, '/produce/item/name[1]', para localizar o primeiro elemento name que é o filho do elemento item.

xpath(xml(parameters('items')), '/produce/item/name[1]')

Eis o resultado: Gala

Exemplo 3

Seguindo o exemplo 1, este exemplo passa a expressão XPath, '/produce/item/name[last()]', para localizar o último elemento name que é o filho do elemento item.

xpath(xml(parameters('items')), '/produce/item/name[last()]')

Eis o resultado: Honeycrisp

Exemplo 4

Neste exemplo, suponha que a cadeia de caracteres XML items também contém os atributos expired='true' e expired='false':

<?xml version="1.0"?>
<produce>
  <item>
    <name expired='true'>Gala</name>
    <type>apple</type>
    <count>20</count>
  </item>
  <item>
    <name expired='false'>Honeycrisp</name>
    <type>apple</type>
    <count>10</count>
  </item>
</produce>

Este exemplo passa a expressão XPath, '//name[@expired]', para localizar todos os elementos name que têm o atributo expired:

xpath(xml(parameters('items')), '//name[@expired]')

Eis o resultado: [ Gala, Honeycrisp ]

Exemplo 5

Neste exemplo, suponha que a cadeia de caracteres XML items contém somente o atributo expired = 'true':

<?xml version="1.0"?>
<produce>
  <item>
    <name expired='true'>Gala</name>
    <type>apple</type>
    <count>20</count>
  </item>
  <item>
    <name>Honeycrisp</name>
    <type>apple</type>
    <count>10</count>
  </item>
</produce>

Este exemplo passa a expressão XPath, '//name[@expired = 'true']', para localizar todos os elementos name que têm o atributo expired = 'true':

xpath(xml(parameters('items')), '//name[@expired = 'true']')

Eis o resultado: [ Gala ]

Exemplo 6

Neste exemplo, suponha que a cadeia de caracteres XML items também contém estes atributos:

  • expired='true' price='12'
  • expired='false' price='40'
<?xml version="1.0"?>
<produce>
  <item>
    <name expired='true' price='12'>Gala</name>
    <type>apple</type>
    <count>20</count>
  </item>
  <item>
    <name expired='false' price='40'>Honeycrisp</name>
    <type>apple</type>
    <count>10</count>
  </item>
</produce>

Este exemplo passa a expressão XPath, '//name[@price>35]', para localizar todos os elementos name que têm price > 35:

xpath(xml(parameters('items')), '//name[@price>35]')

Eis o resultado: Honeycrisp

Exemplo 7

Neste exemplo, suponha que a cadeia de caracteres XML items seja a mesma do Exemplo 1:

<?xml version="1.0"?>
<produce>
  <item>
    <name>Gala</name>
    <type>apple</type>
    <count>20</count>
  </item>
  <item>
    <name>Honeycrisp</name>
    <type>apple</type>
    <count>10</count>
  </item>
</produce>

Este exemplo localiza nós correspondentes ao nó <count></count> e adiciona esses valores de nó com a função sum():

xpath(xml(parameters('items')), 'sum(/produce/item/count)')

Eis o resultado: 30

Exemplo 8

Neste exemplo, suponha que você tem esta cadeia de caracteres XML, que inclui o namespace do documento XML, xmlns="https://contoso.com":

<?xml version="1.0"?><file xmlns="https://contoso.com"><location>Paris</location></file>

Essas expressões usam a expressão XPath, /*[name()="file"]/*[name()="location"] ou /*[local-name()="file" and namespace-uri()="https://contoso.com"]/*[local-name()="location"], para localizar nós que correspondam ao nó <location></location>. Estes exemplos mostram a sintaxe que você usa no Designer ou no editor de expressão:

  • xpath(xml(body('Http')), '/*[name()="file"]/*[name()="location"]')
  • xpath(xml(body('Http')), '/*[local-name()="file" and namespace-uri()="https://contoso.com"]/*[local-name()="location"]')

Veja o nó de resultado correspondente ao nó <location></location>:

<location xmlns="https://contoso.com">Paris</location>

Importante

Se você estiver trabalhando na exibição de código, faça escape das aspas duplas (") usando o caractere de barra invertida (\). Por exemplo, você precisará usar caracteres de escape ao serializar uma expressão como uma cadeia de caracteres JSON. No entanto, se estiver trabalhando no Designer ou no editor de expressão, não precisará fazer escape das aspas duplas, porque o caractere de barra invertida será adicionado automaticamente à definição subjacente, por exemplo:

  • Exibição de código: xpath(xml(body('Http')), '/*[name()=\"file\"]/*[name()=\"location\"]')

  • Editor de expressão: xpath(xml(body('Http')), '/*[name()="file"]/*[name()="location"]')

Exemplo 9

Seguindo o Exemplo 8, este exemplo usa a expressão XPath, 'string(/*[name()="file"]/*[name()="location"])', para localizar o valor no nó <location></location>:

xpath(xml(body('Http')), 'string(/*[name()="file"]/*[name()="location"])')

Eis o resultado: Paris

Próximas etapas

Saiba mais sobre a Linguagem de Definição de Fluxo de Trabalho