Verwenden des AWS SDK for Java mit Amazon Redshift - Amazon Redshift

Verwenden des AWS SDK for Java mit Amazon Redshift

Das AWS SDK for Java bietet eine Klasse mit der Bezeichnung AmazonRedshiftClientBuilder, die Sie zur Interaktion mit Amazon Redshift verwenden können. Weitere Informationen zum Herunterladen von AWS SDK for Java finden Sie unter AWS SDK for Java.

Anmerkung

Das AWS SDK for Java bietet Thread-sichere Clients für den Zugriff auf Amazon Redshift. Als bewährte Methode sollten Ihre Anwendungen einen Client erstellen und diesen zwischen den Threads wiederverwenden.

Sie können die Klassen AmazonRedshiftClientBuilder und AwsClientBuilder verwenden, um einen Endpunkt zu konfigurieren und einen AmazonRedshift-Client zu erstellen. Anschließend können Sie mit dem Client-Objekt eine Instance eines Cluster-Objekts erstellen. Das Cluster-Objekt beinhaltet Methoden, die auf zugrunde liegende Amazon Redshift Query API-Aktionen abgestimmt sind. (Diese Aktionen sind in der Amazon-Redshift-API-Referenz beschrieben.) Wenn Sie eine Methode aufrufen, müssen Sie ein entsprechendes Anfrageobjekt erstellen. Das Anfrageobjekt enthält Informationen, die mit der eigentlichen Anfrage übergeben werden müssen. Das Cluster-Objekt bietet Informationen, die von Amazon Redshift als Reaktion auf die Anforderung zurückgegeben werden.

Das folgende Beispiel veranschaulicht die Verwendung der Klasse AmazonRedshiftClientBuilder für die Konfiguration eines Endpunkts und dann die Erstellung eines 2-Knoten-ds2.xlarge-Clusters.

String endpoint = "https://redshift.us-east-1.amazonaws.com/"; String region = "us-east-1"; AwsClientBuilder.EndpointConfiguration config = new AwsClientBuilder.EndpointConfiguration(endpoint, region); AmazonRedshiftClientBuilder clientBuilder = AmazonRedshiftClientBuilder.standard(); clientBuilder.setEndpointConfiguration(config); AmazonRedshift client = clientBuilder.build(); CreateClusterRequest request = new CreateClusterRequest() .withClusterIdentifier("exampleclusterusingjava") .withMasterUsername("masteruser") .withMasterUserPassword("12345678Aa") .withNodeType("ds2.xlarge") .withNumberOfNodes(2); Cluster createResponse = client.createCluster(request); System.out.println("Created cluster " + createResponse.getClusterIdentifier());

Ausführen von Java-Beispielen für Amazon Redshift unter Verwendung von Eclipse

Allgemeiner Vorgang der Ausführung von Java-Code-Beispielen unter Verwendung von Eclipse

  1. Erstellen Sie ein neues AWS Java Project (AWS-Java-Projekt) in Eclipse.

    Führen Sie die Schritte unter Einrichten des AWS Toolkit for Eclipse im Handbuch Erste Schritte mit AWS Toolkit for Eclipse aus.

  2. Kopieren Sie den Beispielcode aus diesem Abschnitt dieses Dokuments, und fügen Sie ihn als neue Java-Klassendatei in Ihr Projekt ein.

  3. Führen Sie den Code aus.

Ausführen von Java-Beispielen für Amazon Redshift über die Befehlszeile

Allgemeines Verfahren zum Ausführen von Java-Code-Beispielen über die Befehlszeile

  1. Richten Sie Ihre Umgebung ein, und testen Sie sie wie folgt:

    1. Erstellen Sie ein Verzeichnis für die Arbeit, und erstellen Sie darin die Unterverzeichnisse src, bin und sdk.

    2. Laden Sie das AWS SDK for Java herunter, und entpacken Sie es in dem erstellten Unterverzeichnis sdk. Anschließend sollten Sie vier Unterverzeichnisse im Ordner sdk haben, darunter die Ordner lib und third-party.

    3. Geben Sie Ihre AWS-Anmeldedaten für das SDK for Java ein. Weitere Informationen finden Sie unter Eingeben der AWS-Anmeldeinformationen im AWS SDK for Java im AWS SDK for Java-Entwicklerhandbuch.

    4. Stellen Sie sicher, dass Sie den Java-Programmcompiler (javac) und den Java-Anwendungsstarter (java) aus Ihrem Arbeitsverzeichnis starten können. Sie können dies mithilfe der folgenden Befehle prüfen:

      javac -help java -help
  2. Setzen Sie den Code, den Sie ausführen möchten, in eine .java-Datei, und speichern Sie sie im Ordner src. Zur Illustration dieses Prozesses verwenden wir den Code aus Verwalten von Clustern mit dem AWS SDK for Java, so dass die Datei im Verzeichnis src CreateAndModifyClusters.java ist.

  3. Kompilieren Sie den Code.

    javac -cp sdk/lib/aws-java-sdk-1.3.18.jar -d bin src\CreateAndModifyClusters.java

    Wenn Sie eine andere Version des AWS SDK for Java verwenden, passen Sie den Klassenpfad (-cp) für Ihre Version an.

  4. Führen Sie den Code aus. Im folgenden Befehl wurden zur besseren Lesbarkeit Zeilenumbrüche verwendet.

    java -cp "bin; sdk/lib/*; sdk/third-party/commons-logging-1.1.1/*; sdk/third-party/httpcomponents-client-4.1.1/*; sdk/third-party/jackson-core-1.8/*" CreateAndModifyClusters

    Ändern Sie das Klassenpfad-Trennzeichen gemäß den Anforderungen Ihres Betriebssystems. So ist beispielsweise für Windows das Trennzeichen „;“ (wie gezeigt) und für Unix „:“. Andere Code-Beispiele erfordern möglicherweise mehr Bibliotheken als in diesem Beispiel gezeigt, oder die Version des AWS-SDK, mit der Sie arbeiten, hat andere Drittanbieter-Ordnernamen. Passen Sie in diesen Fällen den Klassenpfad (-cp) nach Bedarf an.

    Um die Beispiele in diesem Dokument auszuführen, verwenden Sie eine Version des AWS-SDK, die Amazon Redshift unterstützt. Um die neueste Version des AWS SDK for Java abzurufen, navigieren Sie zu AWS SDK for Java.

Festlegen des Endpunkts

Standardmäßig verwendet das AWS SDK for Java den Endpunkt https://redshift.us-east-1.amazonaws.com/. Sie können den Endpunkt explizit mit der client.setEndpoint-Methode einrichten, wie im folgenden Java-Code-Snippet gezeigt.

client = new AmazonRedshiftClient(credentials); client.setEndpoint("https://redshift.us-east-1.amazonaws.com/");

Eine der Liste der unterstützten AWS-Regionen, in denen Sie einen Cluster bereitstellen können, finden Sie im Abschnitt Regionen und Endpunkte im Glossar zu Amazon Web Services.