Fornecendo Critérios de Conclusão

Especifique a condição que determina os critérios de uma conclusão bem-sucedida da execução REST.

Uma condição de sucesso é necessária para concluir qualquer chamada REST, quer a API chame uma operação de execução curta ou longa.

Para definir a conclusão da chamada REST para uma operação de longa execução usando sondagem, consulte também Fornecendo Critérios de Conclusão com Sondagem.

Usando Funções em uma Condição

As funções básicas String e Operador são suportadas em condições de sucesso e sondagem.

A expressão para uma condição de sucesso ou sondagem só pode incluir as funções conforme mostrado na seção a seguir. Para extrair valores de estruturas JSON, use a função json_path.

Aritmética básica

+

-

*

. e assim por diante

Booliano básico

AND

OR

NOT

Comparação básica

>

<

!=

Nulo básico

IS NULL

IS NOT NULL

NVL

String básica

CONCAT

LENGTH

UPPER

LOWER

Data/hora básica

DATE_ADD

Função json_path

Para elementos de sintaxe JSONPath, consulte:

http://goessner.net/articles/JsonPath/

Por exemplo, para recuperar o valor do status atual da resposta a seguir, use a sintaxe: $.status.current-status

{
   "processName": "createCustomer",
   "region" : "usa-1",
   "status" : {
      "current-status": "accepted",
      "id" : "usa1h3l4ewrt0989"
}
Especificando os Critérios de Conclusão (Condição de Sucesso)

A condição de sucesso em uma tarefa REST é uma expressão que determina uma conclusão bem-sucedida da chamada da API REST. A sondagem é interrompida quando a condição de sucesso é atendida.

Por padrão, o Data Integration fornece uma condição de sucesso para uma tarefa REST. A condição de sucesso padrão é um código de status HTTP igual ou superior a 200, mas inferior a 300, gravado como a seguinte expressão:

SYS.RESPONSE_STATUS >= 200 AND SYS.RESPONSE_STATUS < 300

A expressão da condição de sucesso faz referência à saída na resposta JSON recebida da solicitação REST definida na etapa de execução.

Você pode usar a condição de sucesso padrão ou pode criar uma expressão de condição usando saídas do sistema ou valores de propriedade JSON extraídos da resposta.

Para editar a condição de sucesso:

  1. Na página Configurar detalhes da API REST, vá para a etapa Especificar critérios de conclusão.
  2. Se a API REST chamar uma operação de longa execução, marque a caixa de seleção Configurar uma condição de polling e encerramento para uma chamada REST sem espera.
  3. No bloco Condições, ao lado de Condição do sucesso, selecione Editar.
  4. No painel Editar condição de sucesso, digite uma expressão que use a saída da resposta da solicitação REST.

    A expressão de condição pode incluir os seguintes elementos:

    • Entrada: Você pode usar as saídas de resposta de entrada (por exemplo, SYS.RESPONSE_PAYLOAD_JSON, SYS.RESPONSE_HEADERS_JSON, SYS.RESPONSE_STATUS).

    • Parâmetros: Você pode usar qualquer parâmetro definido no escopo dessa tarefa REST. Consulte Exibindo e Gerenciando Parâmetros em uma Tarefa REST.

    • Funções: Você pode usar as funções básicas String e Operador do Data Integration. A função json_path, encontrada em String, permite extrair valores de propriedade da resposta usando elementos de sintaxe JSONPath no formato: json_path(json_string, json_filter_path)

      Por exemplo: json_path(SYS.RESPONSE_PAYLOAD, '$.@STATUS')

    Nem todas as funções são suportadas em uma expressão de condição de sucesso. Veja a lista suportada aqui.

    (Para operações de execução longa) Se você tiver marcado a caixa de seleção Configurar uma condição de polling e encerramento para uma chamada REST sem espera, a condição de sucesso será uma expressão gravada na resposta da solicitação de polling. Você pode criar expressões que usam a resposta da API da etapa de execução e, em seguida, incluir as expressões nomeadas para criar a condição de sucesso.

  5. Para atribuir um parâmetro de tarefa à condição de sucesso, selecione Atribuir parâmetro. Consulte Parametrizando a Condição de Sucesso.
Parametrizando a Condição de Sucesso

Você pode designar um parâmetro de tarefa à condição de sucesso em uma tarefa REST.

O procedimento a seguir também pode ser usado para parametrizar uma condição de sondagem.

Para parametrizar uma condição:

  1. Na página Configurar detalhes da API REST, vá para a etapa Especificar critérios de conclusão.

    Para parametrizar a condição de sondagem, vá para a etapa Especificar critérios de conclusão e selecione a guia Sondagem. Observe que a guia Sondagem só aparece quando a caixa de seleção Configurar uma condição de sondagem e encerramento para uma chamada REST sem espera está selecionada.

  2. No bloco Condições, selecione Designar parâmetro ao lado da condição.
  3. No painel Adicionar parâmetro, digite um nome para o parâmetro no campo Identifier ou use o valor padrão.

    O nome do parâmetro deve ser exclusivo na tarefa REST. Para obter uma lista atual dos parâmetros na tarefa, consulte Exibindo Todos os Parâmetros em uma Tarefa REST.

  4. (Opcional) Digite uma Descrição para ajudar a identificar a finalidade do parâmetro para outros usuários.
  5. O Tipo do parâmetro é Expressão, que não pode ser alterada.
  6. No Construtor de condições, defina a expressão de condição padrão para esse parâmetro. Essa condição padrão é usada no runtime, a menos que você altere o valor posteriormente (no design time ou no runtime).

    A expressão de condição pode incluir os seguintes elementos:

    • Entrada: Saídas de resposta de entrada (por exemplo, SYS.RESPONSE_PAYLOAD_JSON, SYS.RESPONSE_HEADERS_JSON, SYS.RESPONSE_STATUS).

    • Parâmetros: Parâmetros definidos no escopo desta tarefa REST. Consulte Exibindo e Gerenciando Parâmetros em uma Tarefa REST.

    • Functions: Funções Básicas de String e Integração de Dados do Operador. A função json_path, encontrada em String, permite extrair valores de propriedade da resposta usando elementos de sintaxe JSONPath no formato: json_path(json_string, json_filter_path)

      Por exemplo: json_path(SYS.RESPONSE_PAYLOAD, '$.@STATUS')

  7. Selecione Adicionar.
    O nome do parâmetro é adicionado ao lado da condição.
Editando o Parâmetro de Condição de Sucesso

É possível alterar a descrição e o valor padrão do parâmetro de tarefa para a condição de sucesso.

O procedimento a seguir também pode ser usado para editar o parâmetro de condição de sondagem.

Para editar a condição parametrizada:

  1. Na página Configurar detalhes da API REST, vá para a etapa Especificar critérios de conclusão.

    Para editar a condição de sondagem parametrizada, vá para a etapa Especificar critérios de conclusão e selecione a guia Sondagem. Observe que a guia Sondagem só aparece quando a caixa de seleção Configurar uma condição de sondagem e encerramento para uma chamada REST sem espera está selecionada.

  2. No bloco Condições, selecione Editar parâmetro.
  3. No painel Editar parâmetro, edite somente a descrição e a expressão de condição. Você não pode alterar o identificador (nome) e o tipo de dados.
  4. Selecione Salvar alterações.
Removendo o Parâmetro de Condição de Sucesso

A remoção do parâmetro de condição só remove a associação do parâmetro com a condição de sucesso especificada para a tarefa REST.

O procedimento a seguir também pode ser usado para remover o parâmetro de condição de sondagem.

Para cancelar a designação do parâmetro da condição:

  1. Na página Configurar detalhes da API REST, vá para a etapa Especificar critérios de conclusão.

    Para cancelar a designação do parâmetro da condição de sondagem, vá para a etapa Especificar critérios de conclusão e selecione a guia Sondagem. Observe que a guia Sondagem só aparece quando a caixa de seleção Configurar uma condição de sondagem e encerramento para uma chamada REST sem espera está selecionada.

  2. No bloco Condições, selecione Remover parâmetro.
  3. Na caixa de diálogo Remover parâmetro, selecione Remover.

    A designação do parâmetro é cancelada na condição. A expressão de condição designada ao parâmetro se torna a condição padrão.

    Observação

    O parâmetro não é excluído da tarefa REST. Para excluir o parâmetro, consulte Excluindo um Parâmetro de Tarefa REST.