Información general
En este tutorial, crearás una integración con un activador de API que recibe solicitudes de API para obtener información de los clientes. En función de la ubicación de la solicitud de la API, la integración recupera los detalles del cliente de una base de datos MySQL o de una base de datos Oracle.
Objetivos
En este tutorial se explica cómo completar las siguientes tareas en tu integración:
- Añade un activador de API.
- Añade y configura tareas de conectores para conexiones de MySQL y Oracle.
- Añade y configura tareas de asignación de datos para extraer y asignar la carga útil de la API.
Costes
En este tutorial, usarás los siguientes componentes facturables de Google Cloud:
Las instrucciones de este tutorial están diseñadas para que el uso de recursos no supere los límites del nivel Always Free de Google Cloud.
Cuando termines las tareas que se describen en este documento, puedes evitar que se te siga facturando eliminando los recursos que has creado. Para obtener más información, consulta la sección Limpiar.
Antes de empezar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. 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
). 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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. 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
). 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
(
- Conexión a MySQL
- Configura una conexión de MySQL en Integration Connectors para obtener las entidades de las tablas de
Customer
. Para obtener información sobre cómo configurar un conector de MySQL, consulta Conector de MySQL. - Conexión de base de datos Oracle
- Configura una conexión de base de datos de Oracle en Integration Connectors para obtener las entidades de tabla
Customer
. Para obtener información sobre cómo configurar un conector MySQL, consulta Conector de base de datos Oracle. - En la consola de Google Cloud, ve a la página Application Integration (Integración de aplicaciones).
- En el menú de navegación de la izquierda, haga clic en Integraciones para abrir la página Integraciones.
- Haga clic en
- Nombre de la integración: introduce
api_fulfilment
. - Descripción: introduce
Demo integration created for tutorial
. - Región: seleccione
us-central1
en la lista de regiones admitidas. - Haga clic en Crear para abrir el editor de integraciones.
Crear integración y proporcione los siguientes detalles en la página Crear integración:
- Nombre de la integración: introduce
- En el editor de integraciones, haz clic en Activadores para ver una lista de los activadores disponibles.
- Haz clic en el elemento Activador de API y colócalo en el editor de integraciones.
Integración de aplicaciones rellena automáticamente la etiqueta, el nombre y el ID del activador. El ID de activador es un ID generado por la máquina con el formato
api_trigger/TRIGGER_NAME
y se usa en la solicitud a la API. - En la barra de navegación del diseñador, haga clic en (Mostrar panel) para abrir el panel Variables.
- Haga clic en + Crear y cree las siguientes variables de integración:
Nombre de variable Tipo de datos Tipo de variable location
STRING
Entrada de la integración customer_id
STRING
Entrada de la integración customer_record
JSON
Salida de la integración - En el editor de integraciones, haz clic en Tareas para ver una lista de las tareas disponibles.
- Haz clic en el elemento Conectores y colócalo en el editor de integraciones.
- Selecciona el elemento de tarea Conectores en el diseñador para ver el panel de configuración de la tarea Conectores.
- Haz clic en
Fetch MySQL Data
.
y cambia el nombre de la etiqueta Conectores a - Haz clic en Configurar conector.
- En la página Editor de tareas de conectores, haz lo siguiente:
- En Seleccionar conexión, elige la región
us-central1
. - Selecciona tu conexión de Salesforce en la lista de conexiones disponibles.
- Haz clic en Siguiente.
- En Type (Tipo), selecciona Entities (Entidades).
- En Definir entidades o acciones, selecciona Clientes en la lista de entidades disponibles y, a continuación, Get como Operación.
- Haz clic en Hecho para completar la configuración de la conexión y cerrar el panel.
- En Seleccionar conexión, elige la región
- En el editor de integraciones, haz clic en Tareas para ver una lista de las tareas disponibles.
- Haga clic en el elemento Asignación de datos y colóquelo en el editor de integraciones.
- Seleccione el elemento Asignación de datos en el diseñador para ver el panel de configuración de la tarea.
- Haz clic en
Map to MySQL
.
y cambia el nombre de la tarea Asignación de datos a - 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 mediante las funciones de transformación disponibles. La salida estará disponible como variable para cualquier otra tarea de integración o activador. Para obtener más información sobre las variables de asignación, consulta Añadir una asignación.
- Asigna la variable de activador
customer_id
a la variable de entrada del conectorentityId(Fetch MySQL Data)
generado automáticamente.Cuando hayas terminado de asignar los campos, cierra el panel. Los cambios se guardarán automáticamente.
- Añade una conexión de borde desde la tarea Asignar a MySQL al conector Obtener datos de MySQL.
- En el editor de integraciones, haz clic en Tareas para ver una lista de las tareas disponibles.
- Haga clic en el elemento Asignación de datos y colóquelo en el editor de integraciones.
- En el diseñador, haga clic en el elemento Asignación de datos para ver el panel de configuración de la tarea.
- Haz clic en
Get MySQL data
.
y cambia el nombre de la tarea Asignación de datos a - Haz clic en Abrir editor de asignación de datos.
- Asigna la variable de salida de MySQL (
connectorOutputPayload (Fetch MySQL Data)
) a la variable de integracióncustomer_record
.Cuando hayas terminado de asignar los campos, cierra el panel. Los cambios se guardarán automáticamente.
- Añade una conexión de borde desde el conector Obtener datos de MySQL a la tarea Obtener datos de MySQL.
- En el editor de integraciones, haz clic en Tareas para ver una lista de las tareas disponibles.
- Haz clic en el elemento Conectores y colócalo en el editor de integraciones.
- Selecciona el elemento de tarea Conectores en el diseñador para ver el panel de configuración de la tarea Conectores.
- Haz clic en
Fetch Oracle Data
.
y cambia el nombre de la etiqueta Conectores a - Haz clic en Configurar conector.
- En la página Editor de tareas de conectores, haz lo siguiente:
- En Seleccionar conexión, elige la región
us-central1
. - Selecciona tu conexión de Salesforce en la lista de conexiones disponibles.
- Haz clic en Siguiente.
- En Type (Tipo), selecciona Entities (Entidades).
- En Definir entidades o acciones, selecciona Clientes en la lista de entidades disponibles y, a continuación, Get como Operación.
- Haz clic en Hecho para completar la configuración de la conexión y cerrar el panel.
- En Seleccionar conexión, elige la región
- En el editor de integraciones, haz clic en Tareas para ver una lista de las tareas disponibles.
- Haga clic en el elemento Asignación de datos y colóquelo en el editor de integraciones.
- Seleccione el elemento Asignación de datos en el diseñador para ver el panel de configuración de la tarea.
- Haz clic en
Map to Oracle
.
y cambia el nombre de la tarea Asignación de datos a - Haz clic en Abrir editor de asignación de datos.
- Asigna la variable de activador
customer_id
a la variable de entrada del conectorentityId(Fetch Oracle Data)
generado automáticamente.Cuando hayas terminado de asignar los campos, cierra el panel. Los cambios se guardarán automáticamente.
- Añade una conexión de borde desde la tarea Asignar a Oracle al conector Obtener datos de Oracle.
- En el editor de integraciones, haz clic en Tareas para ver una lista de las tareas disponibles.
- Haga clic en el elemento Asignación de datos y colóquelo en el editor de integraciones.
- En el diseñador, haga clic en el elemento Asignación de datos para ver el panel de configuración de la tarea.
- Haz clic en
Get Oracle data
.
y cambia el nombre de la tarea Asignación de datos a - Haz clic en Abrir editor de asignación de datos.
- Asigna la variable de salida de Oracle (
connectorOutputPayload (Fetch Oracle Data)
) a la variable de integracióncustomer_record
.Cuando hayas terminado de asignar los campos, cierra el panel. Los cambios se guardarán automáticamente.
- Añade una conexión de borde desde el conector Obtener datos de Oracle a la tarea Obtener datos de Oracle.
- Añade una conexión de borde del activador API a la tarea Asignar a MySQL con la siguiente condición de borde:
$location$ = "US"
- Añade otra conexión de borde del activador API a la tarea Asignar a Oracle con la siguiente condición de borde:
$location$ = "APAC"
- En la barra de herramientas del editor de integración, haz clic en
Aparecerá el panel Integración de prueba.
Probar. - Se te pedirá que introduzcas los valores de prueba de las variables de entrada de la integración. Para esta prueba, haz lo siguiente:
- customer_id: introduce
1
. - Ubicación: escribe
APAC
.
- customer_id: introduce
- Haz clic en Test Integration (Probar integración).
- Para dejar de publicar esta integración, haz clic en Dejar de publicar en la barra de herramientas del editor de la integración. Consulta Eliminar integraciones para obtener más información.
- Para obtener información sobre cómo eliminar una conexión, consulta Gestionar conectores.
Prepara tu entorno
Configurar una base de datos MySQL
Conéctate a tu servidor MySQL y crea una base de datos y una tabla para usarlas en este tutorial. En este tutorial 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.
Configurar una base de datos de Oracle
Conéctate a tu base de datos de Oracle y crea una tabla para usarla en este tutorial. En este tutorial 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 tutorial, debe configurar las siguientes conexiones en Integration Connectors:
Crear integración
Para crear una integración, sigue estos pasos:
Configurar un activador de integración
Una vez que haya creado la integración correctamente, podrá añadir y configurar un activador de integración que invoque la integración para un evento identificado.
En este tutorial, se usa un activador de API para invocar la integración cada vez que se envía una solicitud de API. Para añadir y configurar un activador de API en tu integración de api_fulfilment
, haz lo siguiente:
No es necesario configurar nada más para este activador.
Crear 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 de las variables se pueden leer y escribir durante la ejecución de la integración. Para crear las variables necesarias para este tutorial, haga lo siguiente:
Recuperar datos de clientes de una base de datos MySQL
Si la solicitud de la API de entrada procede de la ubicación US
, haz lo siguiente para obtener los datos del cliente de la base de datos MySQL.
Conectarse a la base de datos MySQL
Sigue estos pasos para añadir y configurar una tarea Conectores que recupere los detalles de los clientes de la tabla Customers de MySQL:
Asignar el ID de cliente al conector de MySQL
La tarea Asignación de datos se usa para asignar el ID de cliente al conector MySQL. Para añadir y configurar la asignación de datos en tu integración, sigue estos pasos:
Recuperar los detalles de un cliente de MySQL
Para obtener los detalles del cliente del conector de MySQL, haz lo siguiente:
Recuperar datos de clientes de una base de datos de Oracle
Si la solicitud de la API de entrada procede de la ubicación APAC
, haz lo siguiente para recuperar los datos de los clientes de la base de datos de Oracle.
Conectarse a la base de datos de Oracle
Sigue estos pasos para añadir y configurar una tarea Conectores que recupere los detalles de los clientes de la tabla Clientes de Oracle:
Asignar el ID de cliente al conector de Oracle
Para añadir y configurar la asignación de datos en tu integración, sigue estos pasos:
Recuperar los detalles de un cliente de Oracle
Para obtener los detalles del cliente del conector de Oracle, haz lo siguiente:
Añadir condición de borde
Una condición límite te permite especificar las condiciones que se deben cumplir para que el control de una integración pase a la tarea conectada por el límite. Ahora que has añadido y configurado las tareas necesarias, puedes añadir una condición límite para definir el flujo de la integración.
La siguiente condición de borde controla el flujo de la integración en función de la variable de integración location
:
Flujo de integración de ejemplo
En la siguiente imagen se muestra un diseño de ejemplo de la integración creada con este tutorial.


Publicar integración
Para publicar la integración, haga clic en Publicar en la barra de herramientas del editor de integraciones.
Una vez que hayas publicado tu integración correctamente, 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 de esta integración. Se abrirá la página Registros de ejecución.
Probar la integración
Probar la integración desde el editor de integraciones
Para probar la integración desde el editor de integraciones, sigue estos pasos:
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 Probar y publicar integraciones.
Hacer pruebas con una llamada a la API REST
Ahora que la integración se ha publicado y está en funcionamiento, puedes invocarla mediante la siguiente llamada 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: Hacer 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 el siguiente JSON:
{ "CUSTOMER_ID": 2, "CUSTOMER_NAME": "Dana" "CUSTOMER_EMAILID": "test-02@test.com " "CUSTOMER_CITY": "Seattle" }
Limpieza
Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en este tutorial, anula la publicación de la integración y elimina las conexiones creadas en Integration Connectors.