Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verbindung zu Aurora DSQL-Clustern mit einem JDBC-Konnektor herstellen
Der Aurora DSQL Connector für JDBC
Der Aurora DSQL Connector für JDBC wurde für die Zusammenarbeit mit dem PostgreSQL JDBC-Treiber entwickelt und bietet eine nahtlose Integration mit den IAM-Authentifizierungsanforderungen
In Verbindung mit dem PostgreSQL JDBC-Treiber ermöglicht der Aurora DSQL Connector for JDBC die IAM-basierte Authentifizierung für Aurora DSQL. Er ermöglicht eine tiefe Integration mit Authentifizierungsdiensten wie (IAM). AWS AWS Identity and Access Management
Über den Konnektor
Aurora DSQL ist ein verteilter SQL-Datenbankservice, der hohe Verfügbarkeit und Skalierbarkeit für PostgreSQL-kompatible Anwendungen bietet. Aurora DSQL erfordert eine IAM-basierte Authentifizierung mit zeitlich begrenzten Tokens, die vorhandene JDBC-Treiber nicht nativ unterstützen.
Die Hauptidee hinter dem Aurora DSQL Connector for JDBC besteht darin, dem PostgreSQL-JDBC-Treiber eine Authentifizierungsebene hinzuzufügen, die die IAM-Token-Generierung übernimmt, sodass Benutzer eine Verbindung zu Aurora DSQL herstellen können, ohne ihre bestehenden JDBC-Workflows zu ändern.
Was ist Aurora DSQL-Authentifizierung?
In Aurora DSQL umfasst die Authentifizierung:
-
IAM-Authentifizierung: alle Verbindungen verwenden eine IAM-basierte Authentifizierung mit zeitlich begrenzten Token
-
Token-Generierung: Authentifizierungstoken werden mithilfe von Anmeldeinformationen generiert und haben eine konfigurierbare Lebensdauer AWS
Der Aurora DSQL Connector für JDBC wurde entwickelt, um diese Anforderungen zu verstehen und beim Verbindungsaufbau automatisch IAM-Authentifizierungstoken zu generieren.
Vorteile des Aurora DSQL Connectors für JDBC
Aurora DSQL bietet zwar eine PostgreSQL-kompatible Schnittstelle, jedoch unterstützen vorhandene PostgreSQL-Treiber derzeit nicht die IAM-Authentifizierungsanforderungen von Aurora DSQL. Der Aurora DSQL Connector für JDBC ermöglicht es Kunden, ihre bestehenden PostgreSQL-Workflows weiterhin zu verwenden und gleichzeitig die IAM-Authentifizierung zu aktivieren durch:
-
Automatische Token-Generierung: IAM-Token werden automatisch mithilfe von Anmeldeinformationen generiert AWS
-
Nahtlose Integration: kompatibel mit vorhandenen JDBC-Verbindungsmustern
-
AWS Support für Anmeldeinformationen: Unterstützt verschiedene Anbieter von AWS Anmeldeinformationen (Standard, profilbasiert usw.)
Verwenden des Aurora DSQL Connectors für JDBC mit Verbindungspooling
Der Aurora DSQL Connector für JDBC funktioniert mit Connection Pooling-Bibliotheken wie HikariCP. Der Konnektor übernimmt die Generierung von IAM-Tokens während des Verbindungsaufbaus, sodass die Verbindungspools normal funktionieren können.
Schlüssel-Features
- Automatische Tokengenerierung
-
IAM-Token werden automatisch mithilfe von Anmeldeinformationen generiert. AWS
- Nahtlose Integration
-
Funktioniert mit vorhandenen JDBC-Verbindungsmustern, ohne dass Änderungen im Workflow erforderlich werden.
- AWS Support von Anmeldedaten
-
Unterstützt verschiedene Anbieter von AWS Anmeldeinformationen (standardmäßig, profilbasiert usw.).
- Kompatibilität für Verbindungspooling
-
Nahtlos kompatibel mit Verbindungspooling-Bibliotheken wie HikarICP.
Voraussetzungen
Prüfen Sie bevor Sie beginnen ob die folgenden Voraussetzungen erfüllt sind:
-
Die Java Development Kits (JDK) wurden installiert. Stellen Sie sicher, dass Sie Version 17 oder höher verwenden.
-
Richten Sie die entsprechenden IAM-Berechtigungen ein, damit Ihre Anwendung eine Verbindung zu Aurora DSQL herstellen kann.
-
AWS konfigurierte Anmeldeinformationen (über AWS CLI Umgebungsvariablen oder IAM-Rollen).
Verwenden des Aurora DSQL Connectors für JDBC
Gehen Sie wie folgt vor, um den Aurora DSQL Connector für JDBC in Ihrer Java-Anwendung zu verwenden:
-
Fügen Sie Ihrem Projekt die folgenden Abhängigkeiten in Ihrem Maven-Projekt hinzu:
<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>Fügen Sie für Gradle-Projekte diese Abhängigkeit hinzu:
implementation("software.amazon.dsql:aurora-dsql-jdbc-connector:1.0.0") -
Erstellen Sie eine grundlegende Verbindung zu Ihrem Aurora DSQL-Cluster mithilfe des AWS DSQL PostgreSQL-Connector-Formats:
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(); } } }
Konfigurationseigenschaften
Der Aurora DSQL Connector für JDBC unterstützt die folgenden Verbindungseigenschaften:
- user
-
Ermittelt den Benutzer für die Verbindung und die verwendete Methode zur Tokengenerierung. Beispiel:
admin - token-duration-secs
-
Gültigkeitsdauer des Tokens in Sekunden. Weitere Informationen zu Token-Limits finden Sie unter Generieren eines Authentifizierungstokens in Amazon Aurora DSQL.
- Profil
-
Wird für die Instanziierung einer ProfileCredentialsProvider For-Token-Generierung mit dem angegebenen Profilnamen verwendet.
- Region
-
AWS Region für Aurora DSQL-Verbindungen. Es ist optional. Falls angegeben, überschreibt dies die aus der URL extrahierte Region.
- Datenbank
-
Der Name der Datenbank, mit der eine Verbindung hergestellt werden soll. Der Standardwert ist
postgres.
Protokollierung
Aktivieren Sie die Protokollierung, um Probleme zu beheben, die bei der Verwendung des JDBC-Konnektors für Aurora DSQL auftreten könnten.
Der Konnektor verwendet das integrierte Java-Protokollierungssystem (java.util.logging). Sie können die Protokollierungsebenen konfigurieren, indem Sie eine logging.properties-Datei erstellen:
# 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
Beispiele
Umfassendere Beispiele und Anwendungsfälle finden Sie im Aurora DSQL Connector for JDBC-Repository