Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Connexion aux clusters Aurora DSQL à l’aide d’un connecteur JDBC
Le connecteur Aurora DSQL pour JDBC
Le connecteur Aurora DSQL pour JDBC est conçu pour fonctionner avec le pilote JDBC PostgreSQL et assure une intégration parfaite avec les exigences d'authentification
Associé au pilote JDBC PostgreSQL, le connecteur Aurora DSQL pour JDBC permet l'authentification basée sur IAM pour Aurora DSQL. Il introduit une intégration approfondie avec les services AWS d'authentification tels que Gestion des identités et des accès AWS
À propos du connecteur
Aurora DSQL est un service de base de données SQL distribué qui fournit une disponibilité et une capacité de mise à l’échelle élevées aux applications compatibles avec PostgreSQL. Aurora DSQL nécessite une authentification basée sur IAM avec des jetons limités dans le temps que les pilotes JDBC existants ne prennent pas en charge de manière native.
L'idée principale du connecteur Aurora DSQL pour JDBC est d'ajouter une couche d'authentification au-dessus du pilote JDBC PostgreSQL qui gère la génération de jetons IAM, permettant aux utilisateurs de se connecter à Aurora DSQL sans modifier leurs flux de travail JDBC existants.
Qu’est-ce que l’authentification Aurora DSQL ?
Dans Aurora DSQL, l’authentification implique :
-
Authentification IAM : toutes les connexions utilisent l’authentification basée sur IAM avec des jetons à durée limitée
-
Génération de jetons : les jetons d'authentification sont générés à l'aide AWS d'informations d'identification et ont une durée de vie configurable
Le connecteur Aurora DSQL pour JDBC est conçu pour comprendre ces exigences et générer automatiquement des jetons d'authentification IAM lors de l'établissement de connexions.
Avantages du connecteur Aurora DSQL pour JDBC
Bien qu’Aurora DSQL fournisse une interface compatible avec PostgreSQL, les pilotes PostgreSQL existants ne prennent actuellement pas en charge les exigences d’authentification IAM d’Aurora DSQL. Le connecteur Aurora DSQL pour JDBC permet aux clients de continuer à utiliser leurs flux de travail PostgreSQL existants tout en activant l'authentification IAM via :
-
Génération automatique de jetons : les jetons IAM sont générés automatiquement à l'aide d'informations d'identification AWS
-
Intégration fluide : compatible avec les modèles de connexion JDBC existants
-
AWS Support des informations d'identification : prend en charge différents fournisseurs AWS d'informations d'identification (par défaut, basé sur le profil, etc.)
Utilisation du connecteur SQL Aurora pour JDBC avec regroupement de connexions
Le connecteur Aurora DSQL pour JDBC fonctionne avec des bibliothèques de regroupement de connexions telles que HikariCP. Le connecteur gère la génération de jetons IAM lors de l’établissement de la connexion, ce qui permet aux groupes de connexions de fonctionner normalement.
Fonctions principales
- Génération automatique de jetons
-
Les jetons IAM sont générés automatiquement à l'aide des AWS informations d'identification.
- Intégration transparente
-
Compatible avec les modèles de connexion JDBC existants sans nécessiter de modifications du flux de travail.
- AWS Support des informations d'identification
-
Prend en charge différents fournisseurs AWS d'identifiants (par défaut, basés sur le profil, etc.).
- Compatibilité avec le regroupement de connexions
-
Parfaitement compatible avec les bibliothèques de regroupement de connexions telles que HikariCP.
Conditions préalables
Avant de commencer, assurez-vous de remplir les prérequis suivants :
-
Installation du kit de développement Java (JDK). Assurez-vous qu’une version 17 ou supérieure est disponible.
-
Configuration des autorisations IAM appropriées pour permettre à votre application de se connecter à Aurora DSQL.
-
AWS informations d'identification configurées (via AWS CLI des variables d'environnement ou des rôles IAM).
Utilisation du connecteur SQL Aurora pour JDBC
Pour utiliser le connecteur Aurora DSQL pour JDBC dans votre application Java, procédez comme suit :
-
Ajoutez les dépendances suivantes à votre projet Maven :
<dependencies> <!-- Aurora DSQL Connector for JDBC --> <dependency> <groupId>software.amazon.dsql</groupId> <artifactId>aurora-dsql-jdbc-connector</artifactId> <version>1.0.0</version> </dependency> </dependencies>Pour les projets Gradle, ajoutez cette dépendance :
implementation("software.amazon.dsql:aurora-dsql-jdbc-connector:1.0.0") -
Créez une connexion de base à votre cluster Aurora DSQL à l'aide du format du connecteur AWS DSQL PostgreSQL :
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DsqlJdbcConnectorExample { public static void main(String[] args) { // Using AWS DSQL PostgreSQL Connector prefix String jdbcUrl = "jdbc:aws-dsql:postgresql://your-cluster.dsql.us-east-1.on.aws/postgres?user=admin"; try (Connection connection = DriverManager.getConnection(jdbcUrl)) { // Use the connection try (Statement statement = connection.createStatement()) { // Create a table statement.execute("CREATE TABLE IF NOT EXISTS test_table (id UUID PRIMARY KEY DEFAULT gen_random_uuid(), name VARCHAR(100))"); // Insert data statement.execute("INSERT INTO test_table (name) VALUES ('Test Name')"); // Query data try (ResultSet resultSet = statement.executeQuery("SELECT * FROM test_table")) { while (resultSet.next()) { System.out.println("ID: " + resultSet.getInt("id") + ", Name: " + resultSet.getString("name")); } } } } catch (SQLException e) { e.printStackTrace(); } } }
Propriétés de configuration
Le connecteur Aurora DSQL pour JDBC prend en charge les propriétés de connexion suivantes :
- user
-
Détermine l’utilisateur pour la connexion et la méthode de génération de jetons utilisée. Exemple :
admin - token-duration-secs
-
Durée de validité du jeton en secondes. Pour plus d’informations sur les limites des jetons, consultez Génération d’un jeton d’authentification dans Amazon Aurora DSQL.
- profile
-
Utilisé pour instancier une génération ProfileCredentialsProvider de jetons avec le nom de profil fourni.
- region
-
AWS région pour les connexions SQL Aurora. Elle est facultative. Lorsqu’elle est fournie, elle remplace la région extraite de l’URL.
- database
-
Le nom de la base de données à laquelle se connecter. La valeur par défaut est
postgres.
Logging
Activez la journalisation pour résoudre tout problème que vous pourriez rencontrer lors de l’utilisation du connecteur JDBC Aurora DSQL.
Le connecteur utilise le système de journalisation intégré (java.util.logging) de Java. Vous pouvez configurer les niveaux de journalisation en créant un fichier logging.properties :
# Set root logger level to INFO for clean output .level = INFO # Show Aurora DSQL Connector for JDBC FINE logs for detailed debugging software.amazon.dsql.level = FINE # Console handler configuration handlers = java.util.logging.ConsoleHandler java.util.logging.ConsoleHandler.level = FINE java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter # Detailed formatter pattern with timestamp and logger name java.util.logging.SimpleFormatter.format = %1$tH:%1$tM:%1$tS.%1$tL [%4$s] %3$s - %5$s%n
Exemples
Pour des exemples et des cas d'utilisation plus complets, reportez-vous au connecteur Aurora DSQL pour le référentiel JDBC