Le connecteur Cloud SQL pour Java est une bibliothèque qui fournit une autorisation et un chiffrement basés sur IAM lors de la connexion à une instance Cloud SQL. Il ne peut pas fournir de chemin réseau vers une instance Cloud SQL s'il n'en existe pas déjà un. Consultez la page Présentation de la connexion pour plus d'informations sur la connexion à une instance Cloud SQL.
Pour obtenir des informations d'utilisation spécifiques à votre moteur et pilote de base de données, consultez les pages ci-dessous :
Connexion à Cloud SQL à l'aide de JDBC
Connexion à Cloud SQL à l'aide de R2DBC
Pour des exemples d'utilisation de cette bibliothèque dans le contexte d'une application, consultez les exemples d'applications situés ici.
Cette bibliothèque utilise la stratégie Application Default Credentials (ADC) pour résoudre les informations d’identification. Veuillez consulter ces instructions pour savoir comment configurer votre ADC (application Google Cloud vs développement local, utilisateur IAM vs informations d'identification du compte de service).
---
Pour créer un gros JAR contenant le pilote JDBC avec les dépendances Socket Factory du bundle, vous pouvez émettre la commande Maven suivante à partir de l'emplacement contenant le projet pom.xml :
mvn -P jar-with-dependencies clean package -DskipTests
Cela créera un sous-dossier cible dans chacun des répertoires de modules. Dans ces répertoires cibles, vous trouverez les fichiers du pilote JDBC.
Exemple:
mysql-socket-factory-connector-j-8–1.8.0-jar-with-dependencies.jar postgres-socket-factory-1.8.0-jar-with-dependencies.jar
Le connecteur Java prend en charge la journalisation de débogage facultative pour faciliter le diagnostic des problèmes liés à l'actualisation du certificat en arrière-plan. Pour l'activer, ajoutez ce qui suit au fichier /src/main/resources/application.yml
:
logging.level.root=DEBUG
Le proxy Cloud SQL établit des connexions aux instances Cloud SQL à l'aide du port 3307. Les applications protégées par un pare-feu devront peut-être être configurées pour autoriser les connexions sortantes sur le port TCP 3307. Une connexion bloquée par un pare-feu entraîne généralement une erreur indiquant un échec de connexion ( par exemple com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
).
Afin de connecter IntelliJ à votre instance Cloud SQL, vous devrez ajouter cette bibliothèque sous forme de fichier jar avec des dépendances dans la section « Fichiers supplémentaires » de la page des paramètres du pilote. Les pots de graisse prédéfinis ne sont plus fournis (depuis la v1.14.0).
Voici quelques conseils de dépannage pour résoudre les problèmes courants qui surviennent lors de l'utilisation du connecteur Java :
Assurez-vous d'utiliser la dernière version du connecteur Cloud SQL et de votre pilote de base de données pour éviter les incompatibilités. Certaines anciennes versions de pilotes ne sont pas prises en charge.
Le connecteur Java fournit une autorisation pour les connexions, mais il ne fournit pas de nouveaux chemins d'accès à la connectivité. Par exemple, pour vous connecter à une instance Cloud SQL à l'aide d'une adresse IP privée, votre application doit déjà disposer d'un accès VPC.
Ce projet utilise le versioning sémantique et utilise le cycle de vie suivant concernant la prise en charge d'une version majeure :
Actif - Les versions actives bénéficient de toutes les nouvelles fonctionnalités et correctifs de sécurité (qui autrement n'introduiraient pas de changement radical). Les nouvelles versions majeures sont garanties « actives » pendant 1 an minimum. Obsolète : les versions obsolètes continuent de recevoir des corrections de bogues critiques et de sécurité, mais ne reçoivent pas de nouvelles fonctionnalités. Les versions obsolètes seront prises en charge publiquement pendant 1 an. Non prise en charge : toute version majeure obsolète depuis >=1 an est considérée comme publiquement non prise en charge.
Nous testons et prenons en charge au minimum toute version du LTS JDK prise en charge publiquement. Les modifications apportées aux versions prises en charge seront considérées comme des modifications mineures et seront répertoriées dans les notes de version.
Ce projet vise une cadence de sortie mensuelle minimale. Si aucune nouvelle fonctionnalité ou correctif n'a été ajouté, une nouvelle version de PATCH avec les dernières dépendances est publiée.