Verwendung der AWS SDK for Java - Amazon Simple Storage Service

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.

Verwendung der AWS SDK for Java

Das AWS SDK for Java stellt eine API für den Amazon-S3-Bucket und Objektoperationen bereit. Für Objektoperationen stellt das SDK – zusätzlich zu der API für das Hochladen von Objekten in einer einzigen Operation – eine API zum mehrteiligen Hochladen großer Objekte bereit. Weitere Informationen finden Sie unter Hochladen und Kopieren von Objekten mit mehrteiligen Uploads.

Das AWS SDK for Java bietet Ihnen die Option, eine High-Level- oder eine Low-Level-API zu verwenden.

API auf niedriger Ebene

Die Low-Level-APIs entsprechen den zugrunde liegenden Amazon-S3-REST-Operationen, wie beispielsweise zum Erstellen, Aktualisieren und Löschen, die auf Buckets und Objekte angewendet werden. Wenn Sie große Objekte über die Low-Level-API für mehrteilige Uploads hochladen, bietet dies eine bessere Kontrolle. Beispielsweise können Sie damit mehrteilige Uploads unterbrechen und fortsetzen, die Teilegrößen während des Uploads ändern oder Uploads beginnen, obwohl Sie die Größe der Daten nicht vorab kennen. Wenn Sie diese Anforderungen nicht haben, verwenden Sie die High-Level API zum Hochladen von Objekten.

API auf hoher Ebene

Zum Hochladen von Objekten bietet das SDK einen höheren Abstraktionsgrad, indem es die Klasse TransferManager bereitstellt. Die High-Level API ist eine einfachere API, wobei Sie mit nur ein paar Codezeilen Dateien und Streams in Amazon S3 hochladen können. Sie sollten diese API verwenden, um Daten hochzuladen, es sei denn, Sie müssen den Upload kontrollieren, wie im vorigen Abschnitt über die Low-Level API beschrieben.

Für kleinere Datengrößen lädt die TransferManager-API Daten in einer einzigen Operation hoch. Der TransferManager wechselt jedoch zur Verwendung der API für den mehrteiligen Upload, wenn die Datengröße eine bestimmte Schwelle erreicht. Wenn möglich, verwendet der TransferManager mehrere Threads, um die Teile nebenläufig hochzuladen. Wenn der Upload eines Teils fehlschlägt, wiederholt API diesen Upload bis zu dreimal. Dies sind jedoch Optionen, die mit der TransferManagerConfiguration-Klasse konfiguriert werden können.

Anmerkung

Wenn Sie einen Stream für die Datenquelle verwenden, führt die TransferManager-Klasse keine gleichzeitigen Uploads durch.

Die Java API-Organisation

Die folgenden Pakete in AWS SDK for Java stellen die API bereit:

  • com.amazonaws.services.s3 – Stellt die APIs für das Erstellen von Amazon-S3-Clients und für das Arbeiten mit Buckets und Objekten bereit. Dieses Paket ermöglicht Ihnen beispielsweise, Buckets zu erstellen, Objekte hochzuladen, Objekte abzurufen, Objekte zu löschen und Schlüssel aufzulisten.

  • com.amazonaws.services.s3.transfer – Stellt die High-Level-API-Datenoperationen bereit.

    Diese High-Level-API ist darauf ausgelegt, das Übertragen von Objekten in und aus Amazon S3 zu vereinfachen. Dieses Paket beinhaltet die TransferManager-Klasse, die asynchrone Methoden für das Arbeiten mit sowie Abfragen und Bearbeiten von Übertragungen bereitstellt. Außerdem umfasst sie die TransferManagerConfiguration-Klasse, mit der Sie die Mindestteilgröße für den mehrteiligen Upload konfigurieren können, sowie den Schwellenwert (in Bytes), ab wann mehrteilige Uploads verwendet werden sollen.

  • com.amazonaws.services.s3.model – Stellt die Low-Level API-Klassen zum Erstellen von Anfragen und zum Verarbeiten von Antworten bereit. Es beinhaltet beispielsweise die Klasse GetObjectRequest, um Ihre "Get object"-Anforderung zu beschreiben, die Klasse ListObjectsRequest, um Ihre Listenschlüsselanforderungen zu beschreiben, und die Klasse InitiateMultipartUploadRequest, um mehrteilige Uploads zu erstellen.

Weitere Informationen zur AWS SDK for Java-API finden Sie in der AWS SDK for Java-API-Referenz.

Testen der Java-Codebeispiele für Amazon S3

Die Java-Beispiele in diesem Handbuch sind sämtlich mit der AWS SDK for Java-Version 1.11.321 kompatibel. Für Anleitungen zum Einrichten und Ausführen von Codebeispielen vgl. Getting Started (Erste Schritte) im AWS SDK for Java-Entwicklerhandbuch.