Transcription

AWS SDK for JavaEntwicklerhandbuchAWS SDK for Java : EntwicklerhandbuchCopyright 2021 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

AWS SDK for Java EntwicklerhandbuchDie Marken und Handelsmarken von Amazon dürfen nicht in einer Weise in Verbindung mit nicht von Amazonstammenden Produkten oder Services verwendet werden, die geeignet ist, Kunden irrezuführen oder Amazon inirgendeiner Weise herabzusetzen oder zu diskreditieren. Alle anderen Marken, die nicht im Besitz von Amazon sind,gehören den jeweiligen Besitzern, die möglicherweise mit Amazon verbunden sind oder von Amazon gesponsertwerden.

AWS SDK for Java EntwicklerhandbuchTable of ContentsAWS SDK for Java1.x . 1Die Version 2 des SDK . 1Zusätzliche Dokumentation und Ressourcen . 1Unterstützung für Eclipse-IDE . 1Entwickeln von Anwendungen für Android . 2Anzeigen des SDK-Versionsverlaufs . 2Erstellen von Java-Referenzdokumentationen für frühere SDK-Versionen . 2Erste Schritte . 3Registrieren beiAWSErstellen eines IAM-Benutzers . 3Einrichten derAWS SDK for Java . 4Prerequisites . 4Einbinden des SDKs in Ihr Projekt . 4Herunterladen und Entpacken des SDK . 5Installieren von früheren Versionen des SDKs . 5Installieren einer Java-Entwicklungsumgebung . 6EinrichtenAWSCredentials und Region für die Entwicklung . 6Festlegen von Anmeldeinformationen . 6Aktualisieren von IMDS-Anmeldeinformationen . 7Einrichten der Region . 8Erhalten von temporären Anmeldeinformationen mitAWS STS . 8Verwenden des SDKs mit Apache Maven . 11Erstellen eines neuen Maven-Pakets . 11Konfigurieren des SDKs als Maven-Abhängigkeit . 11Erstellen Ihres Projekts . 13Erstellen des SDKs mit Maven . 13Verwenden des SDKs mit Gradle . 13Projekteinrichtung für Gradle 4.6 oder höher . 13Projekteinrichtung für Gradle-Versionen vor 4.6 . 14Aktivieren vonAWSSDK-Metriken für Enterprise-Support . 16Aktivieren von SDK-Metriken für das SDK for Java . 16Aktualisieren eines CloudWatch-Agenten . 18Deaktivieren von SDK-Metriken . 19Definitionen für SDK-Metriken . 19Verwendung der AWS SDK for Java . 22Bewährte Methoden fürAWSEntwicklung mitAWS SDK for Java . 22S3 . 22Erstellen von Service-Clients . 23Abruf eines Client-Generators . 23Erstellen von Async-Clients . 24Mit DefaultClient . 24Client-Lebenszyklus . 25Arbeiten mitAWSErweitern Sie im angezeigten Detailbereich die Option . 25Verwenden der standardmäßigen Anbieterkette von Anmeldeinformationen . 25Angeben eines Anmeldeinformationsanbieters oder einer Anbieterkette . 28Explizites Angeben von Anmeldeinformationen . 28Weitere Infos . 29AWS-Region-Auswahl . 29Überprüfen der Service-Verfügbarkeit in einer Region . 29Auswahl einer Region . 30Auswahl eines bestimmten Endpunkts . 30Automatische Ermittlung der Region aus der Umgebung . 30Umgang mit Ausnahmen . 31Warum ungeprüfte Ausnahmen? . 32AmazonServiceException (und abgeleitete Klassen) . 32iii

AWS SDK for Java EntwicklerhandbuchAmazonClientException . 32Asynchrone Programmierung . 33Java-Futures . 33Asynchrone Callbacks . 34Bewährte Methoden . 35Protokollieren von AWS SDK for Java-Aufrufen . 35Herunterladen der Log4J-JAR . 36Festlegen des Klassenpfads . 36Service-spezifische Fehler und Warnungen . 36Protokollierung von Anforderungs-/Antwortübersichten . 37Verbose-Protokollierung des Netzwerkverkehrs . 37Protokollieren von Latenz-Metriken . 38Client-Konfiguration . 38Proxy-Konfiguration . 39HTTP-Transport-Konfiguration . 39TCP-Socketpuffer-Größenhinweise . 40Zugriffskontrollrichtlinien . 40Amazon S3 Beispiel . 41Amazon SQS Beispiel . 41Amazon SNS SNS-Beispiel . 41Festlegen des JVM-TTL-Werts für DNS-Name-Lookups . 42So legen Sie die JVM-TTL fest . 42Aktivieren von Metriken für dasAWS SDK for Java . 42Aktivieren der Generierung von Java SDK-Metriken . 43Verfügbare Arten von Metriken . 43Weitere Informationen . 46Codebeispiele . 48AWS SDK for Java2.x . 48Beispiele für Amazon CloudWatch . 48Abrufen von Metriken aus CloudWatch . 49Veröffentlichen benutzerdefinierter Metrikdaten . 50Arbeiten mit CloudWatch Alarmen . 51Verwendung von Alarmaktionen in CloudWatch . 53Senden von Ereignissen an CloudWatch . 54Beispiele für Amazon DynamoDB . 56Arbeiten mit Tabellen in DynamoDB . 56Verwenden von Elementen in DynamoDB . 61Beispiele für Amazon EC2 . 66Tutorial: Starten einer EC2-Instance . 66Verwenden von IAM-Rollen zum Gewähren von Zugriff aufAWSRessourcen aufAmazon EC2 . 70Tutorial: Amazon EC2 Spot Instances . 74Tutorial: AdvancedAmazon EC2Verwaltung von Spot-Anforderungen . 82Verwalten von Amazon EC2-Instances . 93Verwenden von Elastic IP-Adressen in Amazon EC2 . 97Verwenden von Regionen und Availability Zones . 99Arbeiten mit Amazon EC2-Schlüsselpaaren . 101Arbeiten mit Sicherheitsgruppen in Amazon EC2 . 103AWS Identity and Access Management(IAM) Beispiele . 105Verwalten von IAM-Zugriffsschlüsseln . 106Verwalten von IAM-Benutzern . 109Verwenden von IAM-Konto-Aliasen . 111Arbeiten mit IAM-Richtlinien . 113Arbeiten mit IAM-Serverzertifikaten . 116AmazonLambdaBeispiele . 119Serviceoperationen . 119Beispiele für Amazon Pinpoint . 122Erstellen und Löschen von Apps inAmazon Pinpoint . 122iv

AWS SDK for Java EntwicklerhandbuchErstellen von -Endpunkten inAmazon Pinpoint . 123Erstellen von Segmenten inAmazon Pinpoint . 125Erstellen von Kampagnen inAmazon Pinpoint . 126Aktualisieren von ChannelnAmazon Pinpoint . 127Beispiele für Amazon S3 . 128Erstellen, Auflisten und LöschenAmazon S3Buckets . 129Durchführen von Operationen fürAmazon S3Objekte . 132VerwaltenAmazon S3Zugriffsberechtigungen für Buckets und Objekte . 136Verwalten des Zugriffs aufAmazon S3Buckets mithilfe von -Bucket-Richtlinien . 138Verwenden von TransferManager fürAmazon S3Operationen . 141Konfigurieren einesAmazon S3Bucket als Website . 150Verwenden vonAmazon S3Clientseitige -Verschlüsselung . 152Beispiele für Amazon SQS . 156Arbeiten mitAmazon SQSNachrichtenwarteschlangen . 156Senden, Empfangen und LöschenAmazon SQSNachrichten . 159Aktivieren von Langabfragen fürAmazon SQSNachrichtenwarteschlangen . 160Einrichten der Zeitbeschränkung für die Sichtbarkeit inAmazon SQS . 162Verwenden von Warteschlangen für unzustellbare Nachrichten in Amazon SQS . 164Beispiele für Amazon SWF . 166Amazon SWF-Grundlagen . 166Erstellen einer einfachenAmazon SWFAnwendung . 167Lambda-Aufgaben . 181Korrektes Herunterfahren von Aktivitäts- und Workflow-Workern . 184Registrieren von Domänen . 186Auflisten von Domänen . 187Codebeispiele, die im SDK enthalten sind . 187Abrufen der Beispiele . 187Erstellen und Ausführen der Beispiele in der Befehlszeile . 188Erstellen und Ausführen der Beispiele in der Eclipse-IDE . 189Sicherheit . 190Compliance-Validierung . 190Datenschutz . 191Erzwingen von TLS 1.2 . 192TLS-Unterstützung in Java . 192Vorgehensweise zum Überprüfen der TLS-Version . 192Vorgehensweise zum Einstellen der TLS-Version . 192Identity and Access Management . 192Sicherheit der Infrastruktur . 193Ausfallsicherheit . 193Migration des S3-Verschlüsselungsclients . 193Prerequisites . 194Migrations-Übersicht . 194Aktualisieren Sie bestehende Clients, um neue Formate zu lesen . 194Migrieren Sie Verschlüsselungs- und Entschlüsselungsclients auf V2 . 195Weitere Beispiele . 197Dokumentverlauf . 199. cciiv

AWS SDK for Java EntwicklerhandbuchDie Version 2 des SDKEntwicklerhandbuch -AWS SDK forJava1.xDie AWS SDK for Java Das bietet eine Java-API fürAWS-Services. Mit Hilfe des SDKs können SieJava-Anwendungen erstellen, die mit Amazon S3, Amazon EC2, DynamoDB und weiteren Servicesfunktionieren. Unterstützung für neue Services ergänzen wir regelmäßig im AWS SDK for Java. Eine Listeder unterstützten Services und deren API-Versionen, die in den einzelnen Versionen des SDKs enthaltensind, finden Sie in den Versionshinweisen für die Version, mit der Sie arbeiten.Die Version 2 des SDKWerfen Sie einen Blick auf das neueAWS SDK for Java2.x beihttps://github.com/aws/aws-sdk-javav2/aus. Sie enthält lang erwartete Funktionen, wie z. B. eine Möglichkeit zum Laden einer eigenen HTTPImplementierung. Lesen Sie zum Einstieg. AWS SDK for JavaEntwicklerhandbuch 2.xaus.Zusätzliche Dokumentation und RessourcenZusätzlich zu diesem Handbuch stehen AWS SDK for Java-Entwicklern folgende wertvolle OnlineRessourcen zur Verfügung: AWS SDK for Java API-Referenz Java-Entwicklerblog Java-Entwicklerforen GitHub: Dokumentationsquelle Dokumentationsprobleme SDK-Quellcode SDK-Probleme SDK-Beispiele Gitter-Kanal Die AWS Code Sample Catalog @awsforjava (Twitter) VersionshinweiseUnterstützung für Eclipse-IDEWenn Sie Code mithilfe der Eclipse-IDE entwickeln, können Sie das AWS Toolkit for Eclipse So fügen Siedas hinzuAWS SDK for Javain ein vorhandenes Eclipse-Projekt oder um eine neueAWS SDK for JavaProjekt. Das Toolkit unterstützt auch das Erstellen und Hochladen von Lambda-Funktionen, das Startenund Überwachen von Amazon EC2-Instances, das Verwalten von IAM-Benutzern und Sicherheitsgruppen,einen AWS CloudFormation-Vorlageneditor und vieles mehr.Siehe das AWS Toolkit for Eclipse-Benutzerhandbuchfür die vollständige Dokumentation.1

AWS SDK for Java EntwicklerhandbuchEntwickeln von Anwendungen für AndroidEntwickeln von Anwendungen für AndroidWenn Sie ein Android-Entwickler sind:Amazon Web Servicesveröffentlicht ein SDK speziell fürdie Android-Entwicklung: das AWS Mobile SDK for Android aus. Siehe das AWS Mobile SDK forAndroidEntwicklerhandbuchfür die vollständige Dokumentation.Anzeigen des SDK-VersionsverlaufsDen Versionsverlauf des AWS SDK for Java mit Angaben zu Änderungen und unterstützten Services jenach SDK-Version finden Sie in den SDK-Versionshinweisen.Erstellen von Java-Referenzdokumentationen fürfrühere SDK-VersionenDie AWS SDK for Java-API-ReferenzDas stellt den neuesten Build von Version 1.x des SDKs dar. WennSie einen früheren Build der 1.x-Version verwenden, können Sie auch auf die SDK-Referenzdokumentationzugreifen, die zu der von Ihnen verwendeten Version passt.Die einfachste Methode zum Erstellen der Dokumentation besteht darin, das Build-Tool von Apache Mavenzu nutzen. Laden Sie Maven zuerst herunter und installieren Sie es, falls es auf Ihrem System noch nichtvorhanden ist, und erstellen Sie die Referenzdokumentation dann mit den folgenden Schritten:1. Wählen Sie die verwendete SDK-Version auf der Seite Releases des SDK-Repositorys auf GitHub aus.2. Wählen Sie daszip(die meisten Plattformen, einschließlich Windows) odertar.gzKlicken Sie auf denLink (Linux, macOS oder Unix), um das SDK auf Ihren Computer herunterzuladen.3. Extrahieren Sie das Archiv in ein lokales Verzeichnis.4. Navigieren Sie in der Befehlszeile zu dem Verzeichnis, in das Sie das Archiv entpackt haben. Geben Siedann folgenden Befehl ein:mvn javadoc:javadoc5. Nachdem die Erstellung abgeschlossen ist, finden Sie die generierte HTML-Dokumentation imVerzeichnis aws-java-sdk/target/site/apidocs/.2

AWS SDK for Java EntwicklerhandbuchRegistrieren beiAWSErstellen eines IAM-BenutzersErste SchritteDieser Abschnitt enthält Informationen zur Installation, Einrichtung und Verwendung des AWS SDK forJava.Themen Registrieren beiAWSErstellen eines IAM-Benutzers (p. 3) Einrichten derAWS SDK for Java (p. 4) EinrichtenAWSCredentials und Region für die Entwicklung (p. 6) Verwenden des SDKs mit Apache Maven (p. 11) Verwenden des SDKs mit Gradle (p. 13) Aktivieren vonAWSSDK-Metriken für Enterprise-Support (p. 16)Registrieren beiAWSErstellen eines IAM-BenutzersSo verwenden Sie denAWS SDK for JavaZugriff aufAmazon Web Services(AWSAls Nächstes benötigenSie eineAWS-KontoundAWS-Anmeldeinformationen. Um die Sicherheit IhrerAWS-KontoFür wirdempfohlen, dass Sie eineIAM-BenutzerAnstatt Ihre Anmeldeinformationen zu verwenden.NoteEine Übersicht über IAM-Benutzer und ihre Bedeutung für die Sicherheit Ihres Kontos finden SieunterÜbersicht über Identitätsverwaltung: BenutzerimIAM-Benutzerhandbuch.1. ÖffnendieAWSWebsiteZum Neuen aufRegistrierenaus.2. Folgen Sie den Anweisungen auf dem Bildschirm. Der Anmeldeprozess beinhaltet auch einenTelefonanruf und die Eingabe einer PIN über die Telefontastatur.Erstellen Sie als Nächstes einen IAM-Benutzer und laden Sie den geheimen Zugriffsschlüssel herunter(oder kopieren Sie ihn).1. Rufen Sie auf.IAM-KonsoleMöglicherweise müssen Sie sich beiAWSfirst).2. Klicken Sie in der Seitenleiste auf Users, um die IAM-Benutzer aufzulisten.3. Wenn Sie noch keine IAM-Benutzer eingerichtet haben, klicken Sie auf Create New Users.4. Wählen Sie in der Liste den IAM-Benutzer aus, mit dem Sie auf denAWSaus.5. Wählen Sie die Registerkarte Security Credentials und anschließend Create Access Key aus.NoteSie können maximal zwei aktive Zugriffsschlüssel für jeden IAM-Benutzer haben. Wenn IhrIAM-Benutzer bereits über zwei Zugriffsschlüssel verfügt, müssen Sie einen löschen, bevor Sieeinen neuen Schlüssel anlegen.6. Klicken Sie in dem Dialogfeld, das daraufhin erscheint, auf die Schaltfläche Download Credentials, umdie Datei mit den Anmeldeinformationen auf Ihren Computer herunterzuladen. Sie können auch auf3

AWS SDK for Java EntwicklerhandbuchEinrichten derAWS SDK for JavaShow User Security Credentials klicken, um die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüsseldes IAM-Benutzers anzuzeigen (und in die Zwischenablage kopieren zu können).ImportantEs gibt keine Möglichkeit, den geheimen Zugriffsschlüssel nach dem Schließen des Dialogfeldsabzurufen. Sie können jedoch die zugehörige Zugriffsschlüssel-ID löschen und eine neueerstellen.Als Nächstes sollten Sie auswählenFestlegen Ihrer Anmeldeinformationen (p. 6)imAWSDatei fürgemeinsam genutzte Anmeldeinformationen oder in der Umgebung.NoteWenn Sie die Eclipse-IDE verwenden, sollten Sie in Erwägung ziehen, das AWS Toolkit forEclipse und geben Sie Ihre Anmeldeinformationen wie unterEinrichtenAWSErweitern Sie imangezeigten Detailbereich die OptionimAWS Toolkit for Eclipse-Benutzerhandbuch.Einrichten derAWS SDK for JavaBeschreibt, wie Sie das AWS SDK for Java in Ihrem Projekt nutzen.PrerequisitesZur Nutzung des AWS SDK for Java benötigen Sie Folgendes: eine geeignete Java-Entwicklungsumgebung (p. 6) Importieren in &S3;AWS-Kontound Zugriffstasten. Detaillierte Anweisungen finden Sie unterRegistrierenbeiAWSErstellen eines IAM-Benutzers (p. 3)aus. AWSAnmeldeinformationen (Zugriffsschlüssel), die in Ihrer Umgebung eingerichtet sind, oderverwenden Sie das gemeinsame (von derAWS CLIund andere SDKs) Anmeldeinformationen Datei.Weitere Informationen finden Sie unterEinrichtenAWSAnmeldeinformationen und Region für dieEntwicklung (p. 6)aus.Einbinden des SDKs in Ihr ProjektSie können das SDK mithilfe einer der folgenden Methoden in Ihr Projekt einbinden, je nach Ihrem BuildSystem bzw. der IDE: Apache Maven- Wenn SieApache MavenWenn Sie das gesamte SDK (oder bestimmte SDK—Komponenten) als Abhängigkeit in Ihrem Projekt angeben. Details über die Einrichtung des SDKs beiVerwendung von Maven finden Sie unter Verwenden des SDKs mit Apache Maven (p. 11). Gradle- Wenn SieGradleMaven-Bill of Materials (BOM) in Ihr Gradle-Projekt einbinden und die SDKAbhängigkeiten dadurch automatisch verwalten. Weitere Informationen finden Sie unter Verwenden desSDKs mit Gradle (p. 13). Eclipse-IDE- Wenn Sie die Eclipse-IDE verwenden, sollten Sie das AWS Toolkit for Eclipse Wenn Siedas Java SDK automatisch herunterladen, installieren und aktualisieren. Weitere Informationen undAnweisungen zur Einrichtung finden Sie im AWS Toolkit for Eclipse-Benutzerhandbuchaus.Wenn Sie eine der oben genannten Methoden einsetzen (z. B. Maven), müssen Sie dasAWSJAR-Dateien(Sie können den folgenden Abschnitt überspringen). Wenn Sie Projekte mit einer anderen IDE, mit Apache4

AWS SDK for Java EntwicklerhandbuchHerunterladen und Entpacken des SDKAnt oder auf andere Weise erstellen möchten, können Sie das SDK wie im nächsten Abschnitt gezeigtherunterladen und entpacken.Herunterladen und Entpacken des SDKWir empfehlen, für neue Projekte die neueste vorkompilierte Version des SDKs zu verwenden. Dadurchprofitieren Sie von aktueller Unterstützung für alleAWS-Services.NoteWeitere Informationen zum Herunterladen und Erstellen von früheren Versionen des SDKs findenSie unter Installieren von früheren Versionen des SDKs (p. 5).1. Laden Sie das SDK st/aws-java-sdk.zipaus.2. Extrahieren Sie den Inhalt nach dem Herunterladen des SDKs in ein lokales Verzeichnis.Das SDK enthält folgende Verzeichnisse: documentation— Enthält die API-Dokumentation (auch im Internet erhältlich: AWS SDK for Java-APIReferenz) enthalten. lib— Enthält das SDK.jarDateien. samples— Enthält funktionierenden Beispiel-Code, der die Verwendung des SDKs demonstriert. third-party/lib— Enthält Bibliotheken von Drittanbietern, die vom SDK verwendet werden, wie z. B.Apache Commons-Protokollierung, AspectJ und das Spring Framework.Um das SDK zu verwenden, fügen Sie den vollständigen Pfad zu den Verzeichnissen lib und thirdparty zu den Abhängigkeiten in Ihrer Build-Datei hinzu und fügen Sie sie zu Ihrem Java-CLASS

Entwickeln von Anwendungen für Android Siehe das AWS Toolkit for Eclipse-Benutzerhandbuchfür die vollständige Dokumentation. Entwickeln von Anwendungen für Android Wenn Sie ein Android-Entwickler sind:Amazon Web Servicesveröffentlicht ein SDK speziell für die Android-Entwicklung: das AWS Mobile SDK for Android aus. Siehe das AWS Mobile .