Entrega de solicitud a la API


En este instructivo, se describe un caso de uso sobre el modo en que puedes usar Application Integration para enrutar y recuperar información de una solicitud a la API de Ingress.

Descripción general

En este instructivo, crearás una integración con un activador de API que reciba solicitudes a la API para recuperar información del cliente. Según la ubicación de la solicitud a la API, la integración recupera los detalles del cliente de una base de datos MySQL o de Oracle.

Diagrama de entrega de la API Diagrama de entrega de la API

Objetivos

En este instructivo, se muestra cómo completar las siguientes tareas en tu integración:

  • Agrega un activador de API.
  • Agrega y configura tareas de conectores para las conexiones de MySQL y Oracle.
  • Agrega y configura tareas de asignación de datos para extraer y asignar la carga útil de la API.

Costos

En este instructivo, usarás los siguientes componentes facturables de Google Cloud:

Las instrucciones de este instructivo se diseñaron para mantener el uso de recursos dentro de los límites del nivel Siempre gratuito de Google Cloud.

Cuando finalices las tareas que se describen en este documento, puedes borrar los recursos que creaste para evitar que continúe la facturación. Para obtener más información, consulta Cómo realizar una limpieza.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. Crear una cuenta de servicio:

    1. En la consola de Google Cloud, ve a la página Crear cuenta de servicio.

      Ve a Crear cuenta de servicio
    2. Elige tu proyecto.
    3. Ingresa un nombre en el campo Nombre de cuenta de servicio. La consola de Google Cloud completa el campo ID de cuenta de servicio en función de este nombre.

      Opcional: en el campo Descripción de la cuenta de servicio, ingresa una descripción. Por ejemplo, Service account for quickstart.

    4. Haz clic en Crear y continuar.
    5. Otorga los siguientes roles a la cuenta de servicio: Secret Manager Viewer (roles/secretmanager.viewer), Secret Manager Secret Accessor (roles/secretmanager).

      Para otorgar un rol, busca la lista Selecciona un rol y, luego, selecciona el rol.

      Para otorgar roles adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.

    6. Haga clic en Continuar.
    7. Haz clic en Listo para terminar de crear la cuenta de servicio.

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  7. Crear una cuenta de servicio:

    1. En la consola de Google Cloud, ve a la página Crear cuenta de servicio.

      Ve a Crear cuenta de servicio
    2. Elige tu proyecto.
    3. Ingresa un nombre en el campo Nombre de cuenta de servicio. La consola de Google Cloud completa el campo ID de cuenta de servicio en función de este nombre.

      Opcional: en el campo Descripción de la cuenta de servicio, ingresa una descripción. Por ejemplo, Service account for quickstart.

    4. Haz clic en Crear y continuar.
    5. Otorga los siguientes roles a la cuenta de servicio: Secret Manager Viewer (roles/secretmanager.viewer), Secret Manager Secret Accessor (roles/secretmanager).

      Para otorgar un rol, busca la lista Selecciona un rol y, luego, selecciona el rol.

      Para otorgar roles adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.

    6. Haga clic en Continuar.
    7. Haz clic en Listo para terminar de crear la cuenta de servicio.

Prepare el entorno

Configura una base de datos de MySQL

Conéctate a tu servidor MySQL y crea una base de datos y una tabla para usar en este instructivo. En este instructivo, se usa una base de datos que contiene una tabla llamada Customers con las siguientes filas:

  +-------------+---------------+--------------------+------------------+
  | customer_id | customer_name | customer_emailID   | customer_city    |
  +-------------+---------------+--------------------+------------------+
  |           1 | Alex          | test-01@test.com   | New York         |
  |           2 | Dana          | test-02@test.com   | Seattle          |
  +-------------+---------------+--------------------+------------------+
  

Para obtener información sobre cómo crear y usar una base de datos MySQL, consulta la documentación de MySQL.

Configura una base de datos de Oracle

Conéctate a tu base de datos de Oracle y crea una tabla para usarla en este instructivo. En este instructivo, se usa una base de datos que contiene una tabla de SQL llamada Customers con las siguientes filas:

  +-------------+---------------+--------------------+------------------+
  | customer_id | customer_name | customer_emailID   | customer_city    |
  +-------------+---------------+--------------------+------------------+
  |           1 | Amal          | test-01@test.com   | Delhi            |
  |           2 | Hao           | test-02@test.com   | Beijing          |
  +-------------+---------------+--------------------+------------------+
  

Para obtener información sobre cómo crear y usar una base de datos de Oracle, consulta la documentación de Oracle.

Configurar conexiones

Para este instructivo, debes configurar las siguientes conexiones en Integration Connectors:

Conexión MySQL
Configura una conexión de MySQL en Integration Connectors para obtener las entidades de la tabla Customer. Para obtener más información sobre cómo configurar un conector de MySQL, consulta Conector de MySQL.
Conexión a la base de datos de Oracle
Configura una conexión de base de datos de Oracle en Integration Connectors para obtener las entidades de las tablas Customer. Para obtener información sobre la configuración de un conector de MySQL, consulta Conector de base de datos de Oracle.

Crear integración

Para crear una integración nueva, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Application Integration.

    Ir a Application Integration

  2. En el menú de navegación, haz clic en Integraciones. Aparecerá la página Integrations List.
  3. Haz clic en Create integration y proporciona los siguientes detalles en la página Create Integration:
    1. Nombre de la integración: Ingresa api_fulfilment.
    2. Descripción: Ingresa Demo integration created for tutorial.
    3. Región: Selecciona us-central1 de la lista de regiones compatibles.
    4. Haz clic en Crear para abrir el editor de integración.

Configura el activador de integración

Una vez que hayas creado correctamente tu integración, puedes agregar y configurar un activador de integración que invoque la integración para un evento identificado.

En este instructivo, se usa un activador de API para invocar la integración de cada solicitud a la API nueva. Para agregar y configurar un activador de API en tu integración api_fulfilment, haz lo siguiente:

  1. En el editor de integración, haz clic en Activadores para ver una lista de los activadores disponibles.
  2. Haz clic y coloca el elemento activador de API en el editor de integración.

    Application Integration propaga automáticamente la etiqueta, el nombre y el ID del activador. El ID del activador es un ID generado por una máquina con el formato api_trigger/TRIGGER_NAME y se usa en la solicitud a la API.

  3. No se requiere ninguna configuración adicional para este activador.

Crea variables de integración

Las variables de integración son similares a las que se usan en un lenguaje de programación. Los datos en las variables se pueden leer y escribir durante la ejecución de la integración. Para crear las variables necesarias en este instructivo, haz lo siguiente:

  1. Haz clic en (Activar o desactivar panel) en la barra de navegación del diseñador para abrir el panel Variables.
  2. Haz clic en + Crear y crea las siguientes variables de integración:
    Nombre de la variable Tipo de dato Tipo de variable
    location STRING Entrada para la integración
    customer_id STRING Entrada para la integración
    customer_record JSON Resultado de Integration

Recupera datos de clientes a partir de la base de datos MySQL

Si la solicitud a la API de Ingress proviene de la ubicación US, haz lo siguiente para recuperar datos del cliente de la base de datos de MySQL.

Conéctate a la base de datos de MySQL

Sigue estos pasos para agregar y configurar una tarea Connectors y recuperar los detalles de los clientes de la tabla Customers de MySQL:

  1. En el editor de integración, haz clic en Tasks para mostrar una lista de las tareas disponibles.
  2. Haz clic y coloca el elemento Conectores en el editor de integración.
  3. Selecciona el elemento de la tarea Conectores en el diseñador para ver el panel de configuración de tareas de conectores.
  4. Haz clic en y cambia el nombre de la etiqueta Conectores a Fetch MySQL Data.
  5. Haz clic en Configurar conector.
  6. Haz lo siguiente en la página Editor de tareas de conectores:
    1. En Seleccionar conexión, elige la región us-central1.
    2. Selecciona tu conexión de Salesforce en la lista de conexiones disponibles.
    3. Haz clic en Siguiente.
    4. En Tipo, elige Entidades.
    5. En Establecer entidades/acciones, selecciona Clientes en la lista de entidades disponibles y, luego, Obtener como la Operación.
    6. Haz clic en Listo para completar la configuración de conexión y cerrar el panel.

Asigna el ID de cliente al conector de MySQL

Se usa una tarea de Asignación de datos para asignar el ID de cliente al conector de MySQL. Para agregar y configurar la asignación de datos en tu integración, haz lo siguiente:

  1. En el editor de integración, haz clic en Tasks para mostrar una lista de las tareas disponibles.
  2. Haz clic y coloca el elemento Asignación de datos en el editor de integración.
  3. Selecciona el elemento Asignación de datos en el diseñador para ver el panel de configuración de tareas.
  4. Haz clic en y cambia el nombre de la tarea Asignación de datos a Map to MySQL.
  5. Haz clic en Abrir editor de asignación de datos.

    El Editor de asignación de datos te permite asignar variables de entrada a las variables de salida deseadas con las funciones de transformación disponibles. Entonces, el resultado está disponible como una variable para cualquier otra tarea o activador de integración. Para obtener más detalles sobre la asignación de variables, consulta Agrega una asignación.

  6. Asigna el activador customer_id (variable de integración al conector generado automáticamente) entityId(Fetch MySQL Data) (variable de entrada).

    Una vez que hayas completado la asignación, cierra el panel. Los cambios se guardarán automáticamente.

  7. Agrega una conexión perimetral desde la tarea Asignar a MySQL al conector de recuperación de datos de MySQL.

Recupera los detalles del cliente de MySQL

Para recuperar los detalles del cliente del conector de MySQL, haz lo siguiente:

  1. En el editor de integración, haz clic en Tasks para mostrar una lista de las tareas disponibles.
  2. Haz clic y coloca el elemento Asignación de datos en el editor de integración.
  3. Haz clic en el elemento Asignación de datos en el diseñador para ver el panel de configuración de tareas.
  4. Haz clic en y cambia el nombre de la tarea Asignación de datos a Get MySQL data.
  5. Haz clic en Abrir editor de asignación de datos.
  6. Asigna la variable de salida de MySQL (connectorOutputPayload (Fetch MySQL Data)) a la variable de integración customer_record.

    Una vez que hayas completado la asignación, cierra el panel. Los cambios se guardarán automáticamente.

  7. Agrega una conexión perimetral desde el conector Recuperar datos de MySQL a la tarea Obtener datos de MySQL.

Recupera datos de clientes de la base de datos de Oracle

Si la solicitud a la API de Ingress proviene de la ubicación APAC, haz lo siguiente para recuperar datos del cliente de la base de datos de Oracle.

Conéctate a la base de datos de Oracle

Sigue estos pasos para agregar y configurar una tarea Connectors y recuperar los detalles de los clientes de la tabla Customers de Oracle:

  1. En el editor de integración, haz clic en Tasks para mostrar una lista de las tareas disponibles.
  2. Haz clic y coloca el elemento Conectores en el editor de integración.
  3. Selecciona el elemento de la tarea Conectores en el diseñador para ver el panel de configuración de tareas de conectores.
  4. Haz clic en y cambia el nombre de la etiqueta Conectores a Fetch Oracle Data.
  5. Haz clic en Configurar conector.
  6. Haz lo siguiente en la página Editor de tareas de conectores:
    1. En Seleccionar conexión, elige la región us-central1.
    2. Selecciona tu conexión de Salesforce en la lista de conexiones disponibles.
    3. Haz clic en Siguiente.
    4. En Tipo, elige Entidades.
    5. En Establecer entidades/acciones, selecciona Clientes en la lista de entidades disponibles y, luego, Obtener como la Operación.
    6. Haz clic en Listo para completar la configuración de conexión y cerrar el panel.

Asigna el ID de cliente al conector de Oracle

Para agregar y configurar la asignación de datos en tu integración, haz lo siguiente:

  1. En el editor de integración, haz clic en Tasks para mostrar una lista de las tareas disponibles.
  2. Haz clic y coloca el elemento Asignación de datos en el editor de integración.
  3. Selecciona el elemento Asignación de datos en el diseñador para ver el panel de configuración de tareas.
  4. Haz clic en y cambia el nombre de la tarea Asignación de datos a Map to Oracle.
  5. Haz clic en Abrir editor de asignación de datos.
  6. Asigna el activador customer_id (variable de integración al conector generado automáticamente) entityId(Fetch Oracle Data) (variable de entrada).

    Una vez que hayas completado la asignación, cierra el panel. Los cambios se guardarán automáticamente.

  7. Agrega una conexión perimetral desde la tarea Asignar a Oracle al conector Recuperar datos de Oracle.

Recupera los detalles del cliente de Oracle

Para recuperar los detalles del cliente del conector de Oracle, haz lo siguiente:

  1. En el editor de integración, haz clic en Tasks para mostrar una lista de las tareas disponibles.
  2. Haz clic y coloca el elemento Asignación de datos en el editor de integración.
  3. Haz clic en el elemento Asignación de datos en el diseñador para ver el panel de configuración de tareas.
  4. Haz clic en y cambia el nombre de la tarea Asignación de datos a Get Oracle data.
  5. Haz clic en Abrir editor de asignación de datos.
  6. Asigna la variable de salida de Oracle (connectorOutputPayload (Fetch Oracle Data)) a la variable de integración customer_record.

    Una vez que hayas completado la asignación, cierra el panel. Los cambios se guardarán automáticamente.

  7. Agrega una conexión perimetral desde el conector Recuperar datos de Oracle a la tarea Obtener datos de Oracle.

Agregar condición perimetral

Una condición perimetral te permite especificar las condiciones que se deben cumplir para que el control de una integración pase a la tarea conectada por el perímetro. Ahora que agregaste y configuraste las tareas requeridas, puedes agregar una condición perimetral para definir el flujo de la integración.

La siguiente condición perimetral controla el flujo de la integración según la variable de integración location:

  1. Agrega una conexión perimetral desde el activador de la API a la tarea Asignar a MySQL con la siguiente condición perimetral:
      $location$ = "US"
  2. Agrega otra conexión perimetral del activador de la API a la tarea Asignar a Oracle con la siguiente condición perimetral:
      $location$ = "APAC"

Flujo de integración de muestra

En la siguiente figura, se muestra un ejemplo de diseño de la integración que se creó con este instructivo.

Imagen de muestra en la que se muestra el flujo de integración Imagen de muestra en la que se muestra el flujo de integración

Publicar integración

Para publicar la integración, haz clic en Publicar en la barra de herramientas del editor de integración.

Una vez que publiques tu integración de forma correcta, podrás ver e inspeccionar los registros de ejecución de la integración publicada. Para ver los registros, haz clic en Imagen que muestra el ícono para los registros de ejecuciónVer registros de ejecución de esta integración. Aparecerá la página Registros de ejecución.

Prueba la integración

Prueba la integración desde el editor de integración

Para probar la integración desde el editor de integración, sigue estos pasos:

  1. Haz clic en Test en la barra de herramientas del editor de integración.

    Aparecerá el panel Test Integration.

  2. Se te solicitará que ingreses los valores de prueba para las variables de entrada de integración. Para los fines de esta prueba, haz lo siguiente:
    • customer_id: Ingresa 1.
    • location: Ingresa APAC.
  3. Haz clic en Probar integración.

La integración se ejecuta correctamente y se muestra el siguiente valor de cliente:

{ 
  "CUSTOMER_ID": 1,
  "CUSTOMER_NAME": "Amal"
  "CUSTOMER_EMAILID": "test-01@test.com "
  "CUSTOMER_CITY": "Delhi"
}

Para obtener más información sobre las pruebas, consulta Prueba y publica integraciones.

Realiza pruebas con una llamada a la API de REST

Ahora que la integración está publicada y en ejecución, puedes invocarla con la siguiente llamada REST POST:

URL:
https://integrations.googleapis.com/v1/projects/project-name/locations/-/integrations/api_fulfilment:execute 
Cuerpo de la solicitud:
{"trigger_id":"api_trigger/api_fulfilment_API_1"}

Ejemplo: Realiza una solicitud a la API con entradas personalizadas

curl -v -X POST -H "Content-Type: application/json" 'https://integrations.googleapis.com/v1/projects/connectors-ip-test/locations/us-central1/integrations/api-fulfillment-integration:execute' -H "Authorization: Bearer $(gcloud auth AUTH_PROFILE)" -d  '{ "triggerId": "api_trigger/api-fulfillment-integration_API_1", "inputParameters": { "customer_id": {"string_value": 1}, "location" : {"string_value" : "US"}} }'

La API muestra la respuesta de ejecución de la integración que contiene todos los siguientes JSON:

  { 
    "CUSTOMER_ID": 2,
    "CUSTOMER_NAME": "Dana"
    "CUSTOMER_EMAILID": "test-02@test.com "
    "CUSTOMER_CITY": "Seattle"
  }
  

Limpia

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, anula la publicación de la integración y borra las conexiones creadas en Integration Connectors.

  • Para anular la publicación de esta integración, haz clic en Anular publicación en la barra de herramientas del editor de integración. Consulta Cómo borrar integraciones para obtener más información.
  • Si deseas obtener información para borrar una conexión, consulta Administra conectores.