Cloud SQL Connector para Java es una biblioteca que proporciona autorización y cifrado basados en IAM al conectarse a una instancia de Cloud SQL. No puede proporcionar una ruta de red a una instancia de Cloud SQL si aún no hay una presente. Consulta la página Descripción general de la conexión para obtener más información sobre cómo conectarse a una instancia de Cloud SQL.
Para obtener información de uso específica de su motor de base de datos y controlador, consulte las páginas siguientes:
Conexión a Cloud SQL mediante JDBC
Conexión a Cloud SQL mediante R2DBC
Para ver ejemplos del uso de esta biblioteca en el contexto de una aplicación, consulte las aplicaciones de muestra ubicadas aquí.
Esta biblioteca utiliza la estrategia de credenciales predeterminadas de la aplicación (ADC) para resolver credenciales. Consulte estas instrucciones para saber cómo configurar su ADC (credenciales de aplicación de Google Cloud frente a desarrollo local, usuario de IAM frente a cuenta de servicio).
---
Para crear un JAR completo que contenga el controlador JDBC con las dependencias de Socket Factory del paquete, puede ejecutar el siguiente comando Maven desde la ubicación que contiene el proyecto pom.xml:
mvn -P jar-with-dependencies clean package -DskipTests
Esto creará una subcarpeta de destino dentro de cada uno de los directorios del módulo. Dentro de estos directorios de destino encontrará los archivos del controlador JDBC.
Ejemplo:
mysql-socket-factory-connector-j-8–1.8.0-jar-with-dependencies.jar postgres-socket-factory-1.8.0-jar-with-dependencies.jar
Java Connector admite el registro de depuración opcional para ayudar a diagnosticar problemas con la actualización del certificado en segundo plano. Para habilitarlo, agregue lo siguiente al archivo /src/main/resources/application.yml
:
logging.level.root=DEBUG
El proxy de Cloud SQL establece conexiones a instancias de Cloud SQL mediante el puerto 3307. Es posible que las aplicaciones protegidas por un firewall deban configurarse para permitir conexiones salientes en el puerto TCP 3307. Una conexión bloqueada por un firewall generalmente genera un error que indica una falla en la conexión ( por ejemplo, com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
).
Para conectar IntelliJ a su instancia de Cloud SQL, deberá agregar esta biblioteca como un jar con dependencias en la sección "Archivos adicionales" en la página de configuración del controlador. Ya no se proporcionan frascos de grasa prediseñados (desde v1.14.0).
A continuación se ofrecen algunos consejos para solucionar problemas comunes que surgen al utilizar el conector Java:
Asegúrese de estar utilizando la última versión de Cloud SQL Connector y el controlador de su base de datos para evitar incompatibilidades. Algunas versiones anteriores de controladores no son compatibles.
El conector Java proporciona autorización para conexiones, pero no proporciona nuevas rutas de conectividad. Por ejemplo, para conectarse a una instancia de Cloud SQL mediante una dirección IP privada, su aplicación ya debe tener acceso a VPC.
Este proyecto utiliza versiones semánticas y utiliza el siguiente ciclo de vida con respecto al soporte para una versión principal:
Activo : las versiones activas obtienen todas las funciones nuevas y correcciones de seguridad (que de otro modo no introducirían un cambio importante). Se garantiza que las nuevas versiones principales estarán "activas" durante un mínimo de 1 año. Obsoleto : las versiones obsoletas continúan recibiendo correcciones de errores críticos y de seguridad, pero no reciben nuevas funciones. Las versiones obsoletas tendrán soporte público durante 1 año. No compatible : cualquier versión principal que haya quedado obsoleta durante >= 1 año se considera públicamente no compatible.
Probamos y admitimos, como mínimo, cualquier versión LTS JDK compatible públicamente. Los cambios en las versiones compatibles se considerarán cambios menores y se enumerarán en las notas de la versión.
Este proyecto tiene como objetivo una cadencia de lanzamiento mensual mínima. Si no se han agregado nuevas funciones o correcciones, se lanza una nueva versión de PATCH con las dependencias más recientes.