Descripción general
En este instructivo, crearás una integración con un activador de API que recibe solicitudes de API para recuperar información del cliente. Según la ubicación de la solicitud de API, la integración recupera los detalles del cliente de una base de datos de MySQL o de Oracle.
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 Connectors para 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 están diseñadas para que el uso de los recursos se mantenga dentro de los límites del nivel Siempre gratuito de Google Cloud.
Cuando completes las tareas que se describen en este documento, podrás borrar los recursos que creaste para evitar que se te siga facturando. Para obtener más información, consulta Realiza una limpieza.
Antes de comenzar
- Accede a tu Google Cloud cuenta de. 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles. -
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart. - Click Create and continue.
-
Grant the following roles to the service account: Secret Manager Viewer (
roles/secretmanager.viewer), Secret Manager Secret Accessor (roles/secretmanager).To grant a role, find the Select a role list, then select the role.
To grant additional roles, click Add another role and add each additional role.
- Click Continue.
-
Click Done to finish creating the service account.
-
Ensure that you have the Create Service Accounts IAM role
(
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Create a service account:
-
Ensure that you have the Create Service Accounts IAM role
(
roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles. -
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart. - Click Create and continue.
-
Grant the following roles to the service account: Secret Manager Viewer (
roles/secretmanager.viewer), Secret Manager Secret Accessor (roles/secretmanager).To grant a role, find the Select a role list, then select the role.
To grant additional roles, click Add another role and add each additional role.
- Click Continue.
-
Click Done to finish creating the service account.
-
Ensure that you have the Create Service Accounts IAM role
(
Prepara 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 de 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 usar en este instructivo. En este instructivo, se usa una base de datos que contiene una tabla 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 de MySQL
- Configura una conexión de MySQL en Integration Connectors para obtener las entidades de las tablas
Customer. Para obtener información sobre cómo configurar un conector de MySQL, consulta Conector de MySQL. - Conexión de la base de datos de Oracle
- Configura una conexión de la base de datos de Oracle en Integration Connectors para obtener las entidades de las tablas
Customer. Para obtener información sobre cómo configurar un conector de MySQL, consulta Conector de la base de datos de Oracle.
Crear integración
Para crear una integración nueva, sigue estos pasos:
- En la consola de Google Cloud, ve a la página Application Integration.
- Haz clic en Integraciones en el menú de navegación de la izquierda para abrir la página Integraciones.
- Haz clic en Crear integración y proporciona los siguientes detalles en la página Crear integración:
- Nombre de la integración: Ingresa
api_fulfilment. - Descripción: Ingresa
Demo integration created for tutorial. - Región: Selecciona
us-central1de la lista de regiones compatibles. - Haz clic en Crear para abrir el editor de integración.
- Nombre de la integración: Ingresa
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.
Para este instructivo, se usa un activador de API para invocar la integración para cada solicitud de API nueva. Para agregar y configurar un activador de API en tu integración api_fulfilment, haz lo siguiente:
- En el editor de integración, haz clic en Activadores para ver una lista de los activadores disponibles.
- 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 la máquina en el formato
api_trigger/TRIGGER_NAMEy se usa en la solicitud de API.
No se requiere ninguna configuración adicional para este activador.
Crea variables de integración
Las variables de integración son similares a las variables 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 para este instructivo, haz lo siguiente:
- Haz clic en (Panel de activación) en la barra de navegación del diseñador para abrir el panel Variables.
- Haz clic en + Crear y crea las siguientes variables de integración:
Nombre de la variable Tipo de datos Tipo de variable locationSTRINGEntrada a la integración customer_idSTRINGEntrada a la integración customer_recordJSONSalida de la integración
Recupera datos de clientes de la base de datos de MySQL
Si la solicitud de API de entrada es de la ubicación US, haz lo siguiente para recuperar los datos del cliente de la base de datos de MySQL.
Conéctate a la base de datos de MySQL
Realiza los siguientes pasos para agregar y configurar una tarea de Connectors para recuperar los detalles de los clientes de la tabla Customers de MySQL:
- En el editor de integración, haz clic en Tareas para ver la lista de tareas disponibles.
- Haz clic y coloca el elemento Connectors en el editor de integración.
- Selecciona el elemento de tarea Connectors en el diseñador para ver el Connectors task configuration pane.
- Haz clic en y cambia el nombre de la etiqueta Connectors a
Fetch MySQL Data. - Haz clic en Configurar conector.
- Haz lo siguiente en la página Editor de tareas de Connectors :
- En Seleccionar conexión, elige la región
us-central1. - Selecciona tu conexión de Salesforce de la lista de conexiones disponibles.
- Haz clic en Siguiente.
- En Tipo, elige Entidades.
- En Configurar entidades/acciones, selecciona Clientes de la lista de entidades disponibles y, luego, selecciona Obtener como la Operación.
- Haz clic en Listo para completar la configuración de conexión y cerrar el panel.
- En Seleccionar conexión, elige la región
Asigna el ID del cliente al conector de MySQL
Se usa una tarea de asignación de datos para asignar el ID del cliente al conector de MySQL. Para agregar y configurar la asignación de datos en tu integración, haz lo siguiente:
- En el editor de integración, haz clic en Tareas para ver la lista de tareas disponibles.
- Haz clic y coloca el elemento Asignación de datos en el editor de integración.
- Selecciona el elemento Asignación de datos en el diseñador para ver el panel de configuración de la tarea.
- Haz clic en y cambia el nombre de la tarea Asignación de datos a
Map to MySQL. - Haz clic en Open Data Mapping Editor.
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.
- Asigna la variable de integración del activador —
customer_id— a la variable de entrada del conector generado automáticamente—entityId(Fetch MySQL Data).Una vez que hayas completado la asignación, cierra el panel. Los cambios se guardarán automáticamente.
- Agrega una conexión perimetral desde la tarea Map to MySQL al conector Fetch MySQL Data.
Recupera los detalles del cliente de MySQL
Para recuperar los detalles del cliente del conector de MySQL, haz lo siguiente:
- En el editor de integración, haz clic en Tareas para ver la lista de tareas disponibles.
- Haz clic y coloca el elemento Asignación de datos en el editor de integración.
- Haz clic en el elemento Asignación de datos en el diseñador para ver el panel de configuración de la tarea.
- Haz clic en y cambia el nombre de la tarea Asignación de datos a
Get MySQL data. - Haz clic en Open Data Mapping Editor.
- Asigna la variable de salida de MySQL—
connectorOutputPayload (Fetch MySQL Data)— a la variable de integracióncustomer_record.Una vez que hayas completado la asignación, cierra el panel. Los cambios se guardarán automáticamente.
- Agrega una conexión perimetral desde el conector Fetch MySQL Data a la tarea Get MySQL data.
Recupera datos de clientes de la base de datos de Oracle
Si la solicitud de API de entrada es de la ubicación APAC, haz lo siguiente para recuperar los datos del cliente de la base de datos de Oracle.
Conéctate a la base de datos de Oracle
Realiza los siguientes pasos para agregar y configurar una tarea de Connectors para recuperar los detalles de los clientes de la tabla Customers de Oracle:
- En el editor de integración, haz clic en Tareas para ver la lista de tareas disponibles.
- Haz clic y coloca el elemento Connectors en el editor de integración.
- Selecciona el elemento de tarea Connectors en el diseñador para ver el Connectors task configuration pane.
- Haz clic en y cambia el nombre de la etiqueta Connectors a
Fetch Oracle Data. - Haz clic en Configurar conector.
- Haz lo siguiente en la página Editor de tareas de Connectors :
- En Seleccionar conexión, elige la región
us-central1. - Selecciona tu conexión de Salesforce de la lista de conexiones disponibles.
- Haz clic en Siguiente.
- En Tipo, elige Entidades.
- En Configurar entidades/acciones, selecciona Clientes de la lista de entidades disponibles y, luego, selecciona Obtener como la Operación.
- Haz clic en Listo para completar la configuración de conexión y cerrar el panel.
- En Seleccionar conexión, elige la región
Asigna el ID del cliente al conector de Oracle
Para agregar y configurar la asignación de datos en tu integración, haz lo siguiente:
- En el editor de integración, haz clic en Tareas para ver la lista de tareas disponibles.
- Haz clic y coloca el elemento Asignación de datos en el editor de integración.
- Selecciona el elemento Asignación de datos en el diseñador para ver el panel de configuración de la tarea.
- Haz clic en y cambia el nombre de la tarea Asignación de datos a
Map to Oracle. - Haz clic en Open Data Mapping Editor.
- Asigna la variable de integración del activador —
customer_id— a la variable de entrada del conector generado automáticamente—entityId(Fetch Oracle Data).Una vez que hayas completado la asignación, cierra el panel. Los cambios se guardarán automáticamente.
- Agrega una conexión perimetral desde la tarea Map to Oracle al conector Fetch Oracle Data.
Recupera los detalles del cliente de Oracle
Para recuperar los detalles del cliente del conector de Oracle, haz lo siguiente:
- En el editor de integración, haz clic en Tareas para ver la lista de tareas disponibles.
- Haz clic y coloca el elemento Asignación de datos en el editor de integración.
- Haz clic en el elemento Asignación de datos en el diseñador para ver el panel de configuración de la tarea.
- Haz clic en y cambia el nombre de la tarea Asignación de datos a
Get Oracle data. - Haz clic en Open Data Mapping Editor.
- Asigna la variable de salida de Oracle—
connectorOutputPayload (Fetch Oracle Data)— a la variable de integracióncustomer_record.Una vez que hayas completado la asignación, cierra el panel. Los cambios se guardarán automáticamente.
- Agrega una conexión perimetral desde el conector Fetch Oracle Data a la tarea Get Oracle data.
Agrega una condición perimetral
Una condición perimetral te permite especificar las condiciones que deben cumplirse para que una integración pueda pasar a la tarea conectada por el perímetro. Ahora que agregaste y configuraste las tareas necesarias, 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 en función de la variable de integración location:
- Agrega una conexión perimetral desde el activador de API a la tarea Map to MySQL con la siguiente condición perimetral:
$location$ = "US"
- Agrega otra conexión perimetral desde el activador de API a la tarea Map to 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 creada con este instructivo.
Publica la 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
Ver registros de ejecución para 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:
- Haz clic en Probar en la barra de herramientas del editor de integración.
Aparecerá el panel Probar integración.
- 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.
- customer_id: Ingresa
- Haz clic en Probar integración.
La integración se ejecuta correctamente y se muestra el siguiente valor del 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.
Prueba con una llamada a la API de REST
Ahora que la integración se publicó y se está ejecutando, puedes invocarla con la siguiente llamada a la API de REST POST:
URL:https://integrations.googleapis.com/v1/projects/project-name/locations/-/integrations/api_fulfilment:execute
{"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 devuelve la respuesta de ejecución de la integración que contiene todo el siguiente código JSON:
{
"CUSTOMER_ID": 2,
"CUSTOMER_NAME": "Dana"
"CUSTOMER_EMAILID": "test-02@test.com "
"CUSTOMER_CITY": "Seattle"
}
Limpia
Para evitar que se generen cargos en tu cuenta de Google Cloud por los recursos que usaste 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 Borra integraciones para obtener más información.
- Para obtener información sobre cómo borrar una conexión, consulta Administra conectores.