MySQL
El conector de MySQL te permite insertar, leer, actualizar y eliminar filas en una base de datos de MySQL.
Versiones compatibles
Versiones de MySQL de la 5.0 a la 8.0
Antes de empezar
Antes de usar el conector de MySQL, haz lo siguiente:
- En tu proyecto de Google Cloud:
- Asegúrate de que la conectividad de red esté configurada. Para obtener información sobre los patrones de red, consulta Conectividad de red.
- Concede el rol de gestión de identidades y accesos roles/connectors.admin al usuario que configure el conector.
- Concede los siguientes roles de gestión de identidades y accesos a la cuenta de servicio que quieras usar para el conector:
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
Una cuenta de servicio es un tipo especial de cuenta de Google diseñada para representar a un usuario no humano que necesita autenticarse y disponer de autorización para acceder a los datos de las APIs de Google. Si no tienes una cuenta de servicio, debes crearla. El conector y la cuenta de servicio deben pertenecer al mismo proyecto. Para obtener más información, consulta el artículo Crear una cuenta de servicio.
- Habilita los siguientes servicios:
secretmanager.googleapis.com
(API Secret Manager)connectors.googleapis.com
(API Connectors)
Para saber cómo habilitar servicios, consulta Habilitar servicios.
Si estos servicios o permisos no se han habilitado en tu proyecto anteriormente, se te pedirá que los habilites al configurar el conector.
Configurar el conector
Una conexión es específica de una fuente de datos. Esto significa que, si tiene muchas fuentes de datos, debe crear una conexión independiente para cada una de ellas. Para crear una conexión, sigue estos pasos:
- Haga clic en + Crear para abrir la página Crear conexión.
- En la sección Ubicación, elige la ubicación de la conexión.
- En la lista Region (Región), selecciona la región en la que quieras crear la conexión.
Para ver la lista de todas las regiones admitidas, consulta Ubicaciones.
- Haz clic en Siguiente.
- En la lista Region (Región), selecciona la región en la que quieras crear la conexión.
- En la sección Detalles de la conexión, introduce la siguiente información:
- En la lista Connector (Conector), selecciona MySQL.
- En la lista Connector version (Versión del conector), selecciona la versión del conector.
- En el campo Nombre de conexión, introduce un nombre para la instancia de conexión.
Los nombres de las conexiones deben cumplir los siguientes criterios:
- Usa letras, números o guiones.
- Las letras deben estar en minúsculas.
- Los nombres deben empezar por una letra y terminar en una letra o un número.
- Los nombres no pueden tener más de 49 caracteres.
- Opcional: En el campo Descripción, añade una descripción de la instancia de conexión.
- Opcional: Habilita Cloud Logging.
- En la lista Cuenta de servicio, selecciona una cuenta de servicio que tenga los roles necesarios.
- En el campo Nombre de la base de datos, introduce el nombre de la base de datos de MySQL.
- Si quieres, configura los ajustes del nodo de conexión:
- Número mínimo de nodos: introduce el número mínimo de nodos de conexión.
- Número máximo de nodos: introduce el número máximo de nodos de conexión.
Un nodo es una unidad (o réplica) de una conexión que procesa transacciones. Se necesitan más nodos para procesar más transacciones en una conexión y, a la inversa, se necesitan menos nodos para procesar menos transacciones. Para saber cómo influyen los nodos en el precio de tu conector, consulta la sección Precios de los nodos de conexión. Si no introduces ningún valor, de forma predeterminada, el número mínimo de nodos se establece en 2 (para mejorar la disponibilidad) y el máximo en 50.
- (Opcional) En la sección Configuración avanzada, marca la casilla Usar proxy para configurar un servidor proxy para la conexión y define los siguientes valores:
-
Esquema de autenticación de proxy: selecciona el tipo de autenticación para autenticarte con el servidor proxy. Se admiten los siguientes tipos de autenticación:
- Básica: autenticación HTTP básica.
- Digest: autenticación HTTP Digest.
- Usuario proxy: nombre de usuario que se usará para autenticar el servidor proxy.
- Contraseña de proxy: el secreto de Secret Manager de la contraseña del usuario.
-
Tipo de SSL de proxy: el tipo de SSL que se debe usar al conectarse al servidor proxy. Se admiten los siguientes tipos de autenticación:
- Automático: es el ajuste predeterminado. Si la URL es una URL HTTPS, se usa la opción Tunnel. Si la URL es una URL HTTP, se usa la opción NUNCA.
- Siempre: la conexión siempre tiene habilitado SSL.
- Nunca: la conexión no tiene habilitado el protocolo SSL.
- Túnel: la conexión se realiza a través de un proxy de tunelización. El servidor proxy abre una conexión con el host remoto y el tráfico fluye de un lado a otro a través del proxy.
- En la sección Servidor proxy, introduce los detalles del servidor proxy.
- Haga clic en + Añadir destino.
- Selecciona un Tipo de destino.
- Dirección de host: especifica el nombre de host o la dirección IP del destino.
Si quieres establecer una conexión privada con tu sistema backend, haz lo siguiente:
- Crea una vinculación de servicio de PSC.
- Crea un endpoint attachment y, a continuación, introduce los detalles del endpoint attachment en el campo Host address (Dirección de host).
- Dirección de host: especifica el nombre de host o la dirección IP del destino.
- Opcional: Para añadir una etiqueta a la conexión, haz clic en +Añadir etiqueta.
- Haz clic en Siguiente.
- En la sección Destinations (Destinos), introduce los detalles del host remoto (sistema backend) al que quieras conectarte.
- En la lista Destination Type (Tipo de destino), selecciona una dirección de host.
- Para especificar el nombre de host o la dirección IP de destino, selecciona Dirección de host y introduce la dirección en el campo Host 1.
- Para establecer una conexión privada, selecciona Endpoint attachment (Endpoint adjunto) y elige el adjunto que quieras de la lista Endpoint Attachment (Endpoint adjunto).
Si quieres establecer una conexión pública con tus sistemas backend con seguridad adicional, puedes configurar direcciones IP de salida estáticas para tus conexiones y, a continuación, configurar las reglas de tu cortafuegos para que solo se permitan las direcciones IP estáticas específicas.
Para introducir más destinos, haga clic en + Añadir destino.
- Haz clic en Siguiente.
- En la lista Destination Type (Tipo de destino), selecciona una dirección de host.
- En la sección Autenticación, puede proporcionar credenciales:
- En el campo Nombre de usuario, introduce el nombre de usuario de MySQL para la conexión.
- En el campo Password (Contraseña), introduce el secreto de Secret Manager
que contiene la contraseña asociada al nombre de usuario de MySQL.
- Si ya has creado un secreto y no aparece en la lista,
selecciona Introducir secreto manualmente. En el cuadro de diálogo Añadir un secreto por ID de recurso, copia y pega el ID de recurso de Secret Manager.
- Para usar la versión más reciente, copia y pega el ID del recurso del secreto principal con el siguiente formato:
"projects/project-number/secrets/secret-name"
- Si quieres seleccionar una versión específica, copia y pega su ID de recurso en el formato
"projects/project-number/secrets/secret-name/versions/1"
Para añadir el secreto, haz clic en Añadir secreto.
- Para usar la versión más reciente, copia y pega el ID del recurso del secreto principal con el siguiente formato:
- Si no has creado un secreto para usarlo con MySQL, haz clic en Crear
secreto. En el cuadro de diálogo Crear secreto, introduce los siguientes detalles:
- En el campo Name (Nombre), introduce el nombre del secreto.
- En el campo Valor del secreto, introduce el contenido del secreto o sube un archivo que lo contenga.
- Haz clic en Crear secreto.
- Si ya has creado un secreto y no aparece en la lista,
selecciona Introducir secreto manualmente. En el cuadro de diálogo Añadir un secreto por ID de recurso, copia y pega el ID de recurso de Secret Manager.
- En la lista Versión del secreto, selecciona la versión del secreto Contraseña de la lista de versiones disponibles en el menú desplegable.
- Haz clic en Siguiente.
- En la sección Revisar, comprueba los detalles de la conexión y la autenticación.
- Haz clic en Crear.
Entidades, operaciones y acciones
Todos los conectores de integración proporcionan una capa de abstracción para los objetos de la aplicación conectada. Solo puedes acceder a los objetos de una aplicación a través de esta abstracción. La abstracción se te muestra como entidades, operaciones y acciones.
- Entidad: una entidad se puede considerar como un objeto o un conjunto de propiedades en la aplicación o el servicio conectados. La definición de una entidad varía de un conector a otro. Por ejemplo, en un conector de base de datos, las tablas son las entidades; en un conector de servidor de archivos, las carpetas son las entidades; y en un conector de sistema de mensajería, las colas son las entidades.
Sin embargo, es posible que un conector no admita o no tenga ninguna entidad. En ese caso, la lista
Entities
estará vacía. - Operación: una operación es la actividad que puedes realizar en una entidad. Puedes realizar cualquiera de las siguientes operaciones en una entidad:
Al seleccionar una entidad de la lista disponible, se genera una lista de operaciones disponibles para la entidad. Para ver una descripción detallada de las operaciones, consulta las operaciones de entidades de la tarea Connectors. Sin embargo, si un conector no admite ninguna de las operaciones de entidad, esas operaciones no admitidas no se mostrarán en la lista
Operations
. - Acción: una acción es una función de primera clase que se pone a disposición de la integración
a través de la interfaz del conector. Una acción te permite hacer cambios en una o varias entidades y varía de un conector a otro. Normalmente, una acción tendrá algunos parámetros de entrada y un parámetro de salida. Sin embargo, es posible que un conector no admita ninguna acción, en cuyo caso la lista
Actions
estará vacía.
Limitaciones del sistema
El conector de MySQL puede procesar 10 transacciones por segundo por nodo y limita las transacciones que superen este límite. De forma predeterminada, Integration Connectors asigna 2 nodos (para mejorar la disponibilidad) a una conexión.
Para obtener información sobre los límites aplicables a Integration Connectors, consulta Límites.
Tipos de datos admitidos
Estos son los tipos de datos admitidos por este conector:
- BIGINT
- BINARY
- BIT
- BOOLEAN
- CHAR
- FECHA
- DECIMAL
- DOUBLE
- FLOAT
- INTEGER
- LONGN VARCHAR
- LONG VARCHAR
- NCHAR
- NUMERIC
- NVARCHAR
- REAL
- SMALL INT
- HORA
- TIMESTAMP
- TINY INT
- VARBINARY
- VARCHAR
Crear conexiones con Terraform
Puedes usar el recurso de Terraform para crear una conexión.
Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
Para ver una plantilla de Terraform de ejemplo para crear una conexión, consulta la plantilla de ejemplo.
Cuando crees esta conexión con Terraform, debes definir las siguientes variables en el archivo de configuración de Terraform:
Nombre del parámetro | Tipo de datos | Obligatorio | Descripción |
---|---|---|---|
database_name | STRING | Verdadero | Nombre de la base de datos MySQL a la que se va a conectar. |
proxy_enabled | BOOLEAN | Falso | Seleccione esta casilla para configurar un servidor proxy para la conexión. |
proxy_auth_scheme | ENUM | Falso | Tipo de autenticación que se usará para autenticar el proxy ProxyServer. Los valores posibles son: BASIC, DIGEST y NONE. |
proxy_user | STRING | Falso | Nombre de usuario que se usará para autenticar el proxy ProxyServer. |
proxy_password | SECRET | Falso | Contraseña que se usará para autenticarse en el proxy ProxyServer. |
proxy_ssltype | ENUM | Falso | El tipo de SSL que se debe usar al conectarse al proxy ProxyServer. Los valores admitidos son AUTO, ALWAYS, NEVER y TUNNEL. |
Acciones
Este conector admite la ejecución de las siguientes acciones:
- Procedimientos almacenados y funciones definidos por el usuario. Si tienes procedimientos y funciones almacenados en tu backend, se mostrarán en la columna
Actions
del cuadro de diálogoConfigure connector task
. - Consultas de SQL personalizadas. Para ejecutar consultas de SQL personalizadas, el conector proporciona la acción Ejecutar consulta personalizada.
Para crear una consulta personalizada, sigue estos pasos:
- Sigue las instrucciones detalladas para añadir una tarea de conectores.
- Cuando configure la tarea del conector, en el tipo de acción que quiera realizar, seleccione Acciones.
- En la lista Acción, selecciona Ejecutar consulta personalizada y, a continuación, haz clic en Hecho.
- Despliega la sección Entrada de la tarea y, a continuación, haz lo siguiente:
- En el campo Tiempo de espera tras, introduce el número de segundos que deben transcurrir hasta que se ejecute la consulta.
Valor predeterminado:
180
segundos. - En el campo Número máximo de filas, introduzca el número máximo de filas que se devolverán de la base de datos.
Valor predeterminado:
25
. - Para actualizar la consulta personalizada, haz clic en Editar secuencia de comandos personalizada. Se abrirá el cuadro de diálogo Editor de secuencias de comandos.
- En el cuadro de diálogo Editor de secuencias de comandos, introduce la consulta de SQL y haz clic en Guardar.
Puedes usar un signo de interrogación (?) en una instrucción SQL para representar un único parámetro que debe especificarse en la lista de parámetros de la consulta. Por ejemplo, la siguiente consulta SQL selecciona todas las filas de la tabla
Employees
que coinciden con los valores especificados en la columnaLastName
:SELECT * FROM Employees where LastName=?
- Si has usado signos de interrogación en tu consulta SQL, debes añadir el parámetro haciendo clic en + Añadir nombre de parámetro por cada signo de interrogación. Durante la ejecución de la integración, estos parámetros sustituyen secuencialmente los signos de interrogación (?) de la consulta de SQL. Por ejemplo, si has añadido tres signos de interrogación (?), debes añadir tres parámetros en orden de secuencia.
Para añadir parámetros de consulta, siga estos pasos:
- En la lista Tipo, seleccione el tipo de datos del parámetro.
- En el campo Valor, introduzca el valor del parámetro.
- Para añadir varios parámetros, haga clic en + Añadir parámetro de consulta.
La acción Ejecutar consulta personalizada no admite variables de matriz.
- En el campo Tiempo de espera tras, introduce el número de segundos que deben transcurrir hasta que se ejecute la consulta.
Ejemplos de acciones
Ejemplo: buscar el valor mayor
En este ejemplo se muestra cómo ejecutar una función definida por el usuario. La función find_greater
de este ejemplo compara dos números enteros y devuelve el que es mayor.
- En el cuadro de diálogo
Configure connector task
, haz clic enActions
. - Seleccione la acción
find_greater
y, a continuación, haga clic en Hecho. - En la sección Entrada de tarea de la tarea Conectores, haz clic en
connectorInputPayload
y, a continuación, introduce un valor similar al siguiente en el campoDefault Value
:{ "$1": 1.0, "$2": 5.0 }
Si la ejecución de la acción se realiza correctamente, el campo connectorOutputPayload
de la tarea del conector tendrá un valor similar al siguiente:
[{ "bignum": 5.0 }]
Ejemplos de operaciones de entidades
Ejemplo: listar los registros de una entidad
En este ejemplo se muestran los registros de la entidad Users
.
- En el cuadro de diálogo
Configure connector task
, haz clic enEntities
. - Selecciona
Users
en la listaEntity
. - Selecciona la operación
List
y, a continuación, haz clic en Hecho. - En la sección Entrada de tarea de la tarea Conectores, puede definir el filterClause según sus necesidades.
Por ejemplo, si se define la cláusula de filtro como
employeeCode='5100' and startDate='2010-01-01 00:00:00'
, solo se mostrarán los registros cuyo valor de employeeCode sea 5100 y cuyo valor de startDate sea 2010-01-01 00:00:00.
Ejemplo: Obtener un solo registro de una entidad
En este ejemplo, se obtiene un registro de la entidad Users
.
- En el cuadro de diálogo
Configure connector task
, haz clic enEntities
. - Selecciona
User
en la listaEntity
. - Selecciona la operación
Get
y, a continuación, haz clic en Hecho. - En la sección Entrada de tarea de la tarea Conectores, haga clic en entityId y, a continuación, introduzca
103032
en el campo Valor predeterminado.En este caso,
103032
es el valor de clave principal de la entidadUsers
.
Ejemplo: eliminar un registro de una entidad
En este ejemplo se elimina un registro de la entidad Users
.
- En el cuadro de diálogo
Configure connector task
, haz clic enEntities
. - Selecciona
Users
en la listaEntity
. - Selecciona la operación
Delete
y, a continuación, haz clic en Hecho. - En la sección Entrada de tarea de la tarea Conectores, haga clic en entityId y, a continuación, introduzca
113132
en el campo Valor predeterminado.Si la entidad tiene claves primarias compuestas en lugar de especificar el entityId, puedes definir el filterClause. Por ejemplo,
employeeCode='5100' and startDate='2010-01-01 00:00:00'
.
Ejemplo: Crear un registro en una entidad
En este ejemplo, se crea un registro en la entidad Users
.
- En el cuadro de diálogo
Configure connector task
, haz clic enEntities
. - Selecciona
Users
en la listaEntity
. - Selecciona la operación
Create
y, a continuación, haz clic en Hecho. - En la sección Entrada de tarea de la tarea Conectores, haz clic en
connectorInputPayload
y, a continuación, introduce un valor similar al siguiente en el campoDefault Value
:{ "employeeCode": "5100", "startDate": "2010-01-01 00:00:00.0", "country": "US" }
Si la integración se realiza correctamente, el campo connectorOutputPayload
de la tarea del conector tendrá la respuesta de la operación de creación.
Ejemplo: actualizar un registro de una entidad
En este ejemplo se actualiza un registro de la entidad Users
.
- En el cuadro de diálogo
Configure connector task
, haz clic enEntities
. - Selecciona
Users
en la listaEntity
. - Selecciona la operación
Update
y, a continuación, haz clic en Hecho. - En la sección Entrada de tarea de la tarea Conectores, haz clic en
connectorInputPayload
y, a continuación, introduce un valor similar al siguiente en el campoDefault Value
:{ "country": "IN" }
- En la sección Entrada de tarea de la tarea Conectores, haga clic en entityId y, a continuación, introduzca
113132
en el campo Valor predeterminado.Si la entidad tiene claves primarias compuestas en lugar de especificar el entityId, puedes definir el filterClause. Por ejemplo,
employeeCode='5100' and startDate='2010-01-01 00:00:00'
.
Si la integración se realiza correctamente, el campo connectorOutputPayload
de la tarea del conector tendrá la respuesta de la operación de actualización.
Usar la conexión de MySQL en una integración
Una vez que hayas creado la conexión, estará disponible tanto en Apigee Integration como en Application Integration. Puedes usar la conexión en una integración a través de la tarea Conectores.
- Para saber cómo crear y usar la tarea Conectores en la integración de Apigee, consulta Tarea Conectores.
- Para saber cómo crear y usar la tarea Conectores en Application Integration, consulta Tarea Conectores.
Consulta también el tutorial Realizar operaciones CRUD en una base de datos MySQL, que muestra cómo crear una conexión MySQL y usarla en una integración para realizar operaciones de lectura y escritura.
Obtener ayuda de la comunidad de Google Cloud
Puedes publicar tus preguntas y hablar sobre este conector en la comunidad de Google Cloud, en los foros de Cloud.Siguientes pasos
- Consulta cómo suspender y reanudar una conexión.
- Consulta cómo monitorizar el uso de los conectores.
- Consulta cómo ver los registros de conectores.