Especificación de los criterios de finalización

Especifique la condición que determina los criterios para que la ejecución de REST se complete correctamente.

Se necesita una condición de éxito para completar cualquier llamada de REST, tanto si la API llama a una operación de ejecución corta como de larga duración.

Para definir la finalización de la llamada de REST para una operación de larga ejecución mediante el sondeo, consulte también Especificación de criterios de finalización mediante sondeo.

Uso de funciones en una condición

Las funciones básicas de String y Operator están soportadas en las condiciones de sondeo y correcta.

La expresión para una condición correcta o de sondeo puede incluir solo las funciones que se muestran en la siguiente sección. Para extraer valores de estructuras JSON, utilice la función json_path.

Aritmética básica

+

-

*

etc.

Booleano básico

AND

OR

NOT

Comparación básica

>

<

!=

Nulo básico

IS NULL

IS NOT NULL

NVL

Cadena básica

CONCAT

LENGTH

UPPER

LOWER

Fecha/hora básica

DATE_ADD

Función json_path

Para ver los elementos de sintaxis JSONPath, consulte:

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

Por ejemplo, para recuperar el valor de estado actual de la siguiente respuesta, utilice la sintaxis: $.status.current-status

{
   "processName": "createCustomer",
   "region" : "usa-1",
   "status" : {
      "current-status": "accepted",
      "id" : "usa1h3l4ewrt0989"
}
Especificación de los criterios de finalización (condición correcta)

La condición correcta en una tarea de REST es una expresión que determina que la llamada de API de REST se ha completado correctamente. El sondeo se para cuando se cumple la condición correcta.

Por defecto, Data Integration proporciona una condición correcta para una tarea de REST. La condición correcta por defecto es un código de estado HTTP de 200 o superior, pero inferior a 300, escrito como la siguiente expresión:

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

La expresión de condición correcta hace referencia a la salida en la respuesta de JSON que se recibe de la solicitud de REST definida en el paso de ejecución.

Puede utilizar la condición correcta por defecto o puede escribir una expresión de condición mediante salidas del sistema o valores de propiedad JSON extraídos de la respuesta.

Para editar la condición correcta:

  1. En la página Configurar los detalles de la API de REST, vaya al paso Especificar los criterios de finalización.
  2. Si la API de REST llama a una operación de larga ejecución, active la casilla de control Configurar una condición de sondeo y de terminación para una llamada de REST sin espera.
  3. En el bloque Condiciones, junto a Condición correcta, seleccione Editar.
  4. En el panel Editar condición correcta, introduzca una expresión que utilice la salida de la respuesta de la solicitud de REST.

    La expresión de condición puede incluir los siguientes elementos:

    • Entrada: puede utilizar las salidas de respuesta entrantes (por ejemplo, SYS.RESPONSE_PAYLOAD_JSON, SYS.RESPONSE_HEADERS_JSON, SYS.RESPONSE_STATUS).

    • Parámetros: puede utilizar cualquier parámetro definido en el ámbito de esta tarea de REST. Consulte Visualización y gestión de parámetros en una tarea de REST.

    • Funciones: puede utilizar las funciones String y Operator básicas de Data Integration. La función json_path, que se encuentra en String, permite extraer valores de propiedad de la respuesta mediante elementos de sintaxis JSONPath con el formato: json_path(json_string, json_filter_path)

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

    No todas las funciones están soportadas en una expresión de condición correcta. Consulte la lista soportada aquí.

    (Para operaciones de larga ejecución) Si ha seleccionado la casilla de control Configurar una condición de sondeo y de terminación para una llamada de REST sin espera, la condición correcta es una expresión que se escribe en la respuesta de la solicitud de sondeo. Puede crear expresiones que utilicen la respuesta de API del paso de ejecución y, a continuación, incluir las expresiones con nombre para crear la condición correcta.

  5. Para asignar un parámetro de tarea a la condición correcta, seleccione Asignar parámetro. Consulte Parametrización de la condición correcta.
Parametrización de la condición correcta

Puede asignar un parámetro de tarea a la condición correcta en una tarea de REST.

El siguiente procedimiento también se puede utilizar para parametrizar una condición de sondeo.

Para parametrizar una condición:

  1. En la página Configurar los detalles de la API de REST, vaya al paso Especificar los criterios de finalización.

    Para parametrizar la condición de sondeo, vaya al paso Especificar criterios de finalización y seleccione el separador Sondeo. Tenga en cuenta que el separador Sondeo sólo aparece cuando la casilla de control Configurar una condición de sondeo y terminación para una llamada de REST sin espera está seleccionada.

  2. En el bloque Condiciones, seleccione Asignar parámetro que esté junto a la condición.
  3. En el panel Agregar parámetro, introduzca un nombre para el parámetro en el campo Identificador o utilice el valor por defecto.

    El nombre de parámetro debe ser único en la tarea de REST. Para obtener una lista actual de los parámetros de la tarea, consulte Visualización de todos los parámetros en una tarea de REST.

  4. (Opcional) Introduzca una Descripción para ayudar a identificar la finalidad del parámetro a otros usuarios.
  5. El tipo del parámetro es Expresión, que no se puede cambiar.
  6. En el creador de condiciones, defina la expresión de condición por defecto para este parámetro. Esta condición por defecto se utiliza en tiempo de ejecución, a menos que cambie el valor más adelante (en tiempo de diseño o en tiempo de ejecución).

    La expresión de condición puede incluir los siguientes elementos:

    • Entrada: salidas de respuesta entrantes (por ejemplo, SYS.RESPONSE_PAYLOAD_JSON, SYS.RESPONSE_HEADERS_JSON, SYS.RESPONSE_STATUS).

    • Parámetros: parámetros definidos en el ámbito de esta tarea de REST. Consulte Visualización y gestión de parámetros en una tarea de REST.

    • Funciones: funciones básicas de integración de datos de cadena y operador. La función json_path, que se encuentra en String, permite extraer valores de propiedad de la respuesta mediante elementos de sintaxis JSONPath con el formato: json_path(json_string, json_filter_path)

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

  7. Seleccione Agregar.
    El nombre del parámetro se agrega junto a la condición.
Edición del parámetro de condición correcta

Puede cambiar la descripción y el valor por defecto del parámetro de tarea para la condición correcta.

El siguiente procedimiento también se puede utilizar para editar el parámetro de condición de sondeo.

Para editar la condición con parámetros:

  1. En la página Configurar los detalles de la API de REST, vaya al paso Especificar los criterios de finalización.

    Para editar la condición de sondeo con parámetros, vaya al paso Especificar criterios de finalización y seleccione el separador Sondeo. Tenga en cuenta que el separador Sondeo sólo aparece cuando la casilla de control Configurar una condición de sondeo y terminación para una llamada de REST sin espera está seleccionada.

  2. En el bloque Condiciones, seleccione Editar parámetro.
  3. En el panel Editar parámetro, edite solo la descripción y la expresión de condición. No puede cambiar el identificador (nombre) ni el tipo de datos.
  4. Seleccione Guardar cambios.
Eliminación del parámetro de condición correcta

Al eliminar el parámetro de condición, solo se elimina la asociación del parámetro a la condición correcta especificada para la tarea REST.

El siguiente procedimiento también se puede utilizar para eliminar el parámetro de condición de sondeo.

Para anular la asignación del parámetro de la condición:

  1. En la página Configurar los detalles de la API de REST, vaya al paso Especificar los criterios de finalización.

    Para anular la asignación del parámetro de la condición de sondeo, vaya al paso Especificar criterios de finalización y seleccione el separador Sondeo. Tenga en cuenta que el separador Sondeo sólo aparece cuando la casilla de control Configurar una condición de sondeo y terminación para una llamada de REST sin espera está seleccionada.

  2. En el bloque Condiciones, seleccione Eliminar parámetro.
  3. En el cuadro de diálogo Eliminar parámetro, seleccione Eliminar.

    Se anula la asignación del parámetro de la condición. La expresión de condición que se ha asignado al parámetro se convierte en la condición por defecto.

    Nota

    El parámetro no se suprime de la tarea de REST. Para suprimir el parámetro, consulte Supresión de un parámetro de tarea de REST.