Diese Seite ist nur für Bestandskunden des S3 Glacier-Dienstes bestimmt, die Vaults und die ursprüngliche REST-API von 2012 verwenden.
Wenn Sie nach Archivspeicherlösungen suchen, empfehlen wir die Verwendung der S3 Glacier-Speicherklassen in Amazon S3, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval und S3 Glacier Deep Archive. Weitere Informationen zu diesen Speicheroptionen finden Sie unter S3 Glacier-Speicherklassen
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.
Verwenden des AWS SDK für Java mit Amazon S3 Glacier
Das AWS SDK für Java bietet sowohl High-Level als auch Low-Level APIs für Amazon S3 Glacier (S3 Glacier), wie unter beschriebenVerwenden des AWS SDKs mit Amazon S3 Glacier. Informationen zum Herunterladen von finden Sie unter Amazon SDK for Java
Anmerkung
Das AWS SDK für Java bietet Thread-sichere Clients für den Zugriff auf S3 Glacier. Als bewährte Methode sollten Ihre Anwendungen einen Client erstellen und diesen zwischen den Threads wiederverwenden.
Themen
Verwenden der Low-Level-API
Die AmazonGlacierClient
-Klasse der Low-Level-API enthält alle Methoden, die sich den zugrunde liegenden REST-Operationen in S3 Glacier zuordnen lassen (API-Referenz für Amazon S3 Glacier). Wenn Sie eine dieser Methoden aufrufen, müssen Sie ein zugehöriges Anforderungsobjekt erstellen und ein Antwortobjekt bereitstellen, mit dem die Methode die S3-Glacier-Antwort an die Operation zurückgeben kann.
Beispielsweise stellt die AmazonGlacierClient
-Klasse die createVault
-Methode für die Erstellung eines Tresors zur Verfügung. Diese Methode lässt sich der zugrunde liegenden REST-Operation „Create Vault” zuordnen (siehe Create Vault (PUT vault)). Um diese Methode zu verwenden, müssen Sie Instances des CreateVaultResult
-Objekts erstellen, das die S3-Glacier-Antwort empfängt, wie im folgenden Java-Codeausschnitt gezeigt:
AmazonGlacierClient client = new AmazonGlacierClient(credentials);
client.setEndpoint("https://glacier.us-west-2.amazonaws.com/");
CreateVaultRequest request = new CreateVaultRequest()
.withAccountId("-")
.withVaultName(vaultName);
CreateVaultResult result = client.createVault(createVaultRequest);
Alle Low-Level-Beispiele in diesem Handbuch entsprechen diesem Muster.
Anmerkung
Im vorstehenden Codesegment wird beim Erstellen der Anfrage AccountID
angegeben. Bei Verwendung von ist die AWS SDK für Java Angabe AccountId
in der Anfrage jedoch optional, weshalb dieser Wert nicht in allen einfachen Beispielen in diesem Handbuch festgelegt wird. Das AccountId
ist die AWS-Konto ID. Dieser Wert muss mit der AWS-Konto ID übereinstimmen, die den Anmeldeinformationen zugeordnet ist, die zum Signieren der Anfrage verwendet wurden. Sie können entweder die AWS-Konto ID oder optional ein '-' angeben. In diesem Fall verwendet S3 Glacier die AWS-Konto ID, die den Anmeldeinformationen zugeordnet ist, die zum Signieren der Anfrage verwendet wurden. Wenn Sie Ihre Konto-ID angeben, müssen Sie sie ohne Bindestriche eingeben. Wenn Sie bei der Verwendung AWS SDK für Java die Konto-ID nicht angeben, setzt die Bibliothek die Konto-ID auf '-'.
Verwenden der High-Level-API
Um Ihre Anwendungsentwicklung weiter zu vereinfachen, AWS SDK für Java stellt der die ArchiveTransferManager
Klasse bereit, die eine Abstraktion auf höherer Ebene für einige Methoden in der Low-Level-API implementiert. Sie stellt nützliche Methoden wie upload
und download
für die Archivoperationen bereit.
Beispielsweise wird im folgenden Java-Codeausschnitt die High-Level-Methode upload
zum Hochladen eines Archivs verwendet.
String vaultName = "examplevault";
String archiveToUpload = "c:/folder/exampleArchive.zip";
ArchiveTransferManager atm = new ArchiveTransferManager(client, credentials);
String archiveId = atm.upload(vaultName, "Tax 2012 documents", new File(archiveToUpload)).getArchiveId();
Beachten Sie, dass alle Operationen, die Sie ausführen, für die AWS Region gelten, die Sie bei der Erstellung des Objekts angegeben haben. ArchiveTransferManager
Wenn Sie keine Region angeben, wird die AWS AWS SDK für Java Region us-east-1
als AWS Standardregion festgelegt.
Alle High-Level-Beispiele in diesem Handbuch entsprechen diesem Muster.
Anmerkung
Die High-Level-Klasse ArchiveTransferManager
kann mit einer AmazonGlacierClient
-Instance oder einer AWSCredentials
-Instance konstruiert werden.
Ausführen von Java-Beispielen für Amazon S3 Glacier unter Verwendung von Eclipse
Am einfachsten gelingt der Einstieg in die Java-Codebeispiele, indem die neueste AWS Toolkit for Eclipse installiert wird. Informationen zum Installieren oder Aktualisieren des neuesten Toolkits finden Sie unter http://aws.amazon.com/eclipse
1 |
Erstellen Sie ein Standard-Anmeldeinformationsprofil für Ihre AWS Anmeldeinformationen, wie im AWS SDK für Java Thema Bereitstellen von AWS Anmeldeinformationen im Amazon SDK for Java beschrieben. |
2 |
Erstellen Sie ein neues AWS Java-Projekt in Eclipse. Das Projekt ist mit dem AWS SDK für Java vorkonfiguriert. |
3 |
Kopieren Sie den Code aus dem Abschnitt, den Sie gerade lesen, in Ihr Projekt. |
4 |
Aktualisieren Sie den Code mit den erforderlichen Daten. Wenn Sie beispielsweise eine Datei hochladen, geben Sie den Dateipfad und den Bucket-Namen an. |
5 |
Führen Sie den Code aus. Stellen Sie sicher, dass das Objekt mit der AWS Management Console erstellt wurde. Weitere Informationen über das AWS Management Console finden Sie unter http://aws.amazon.com/console/ |
Festlegen des Endpunkts
Standardmäßig AWS SDK für Java verwendet der den Endpunkthttps://glacier.us-east-1.amazonaws.com
. Sie können den Endpunkt explizit einrichten, wie in den folgenden Java-Codeausschnitten gezeigt.
Der folgende Codeausschnitt zeigt, wie der Endpunkt in der Low-Level-API auf die Region „USA West (Oregon)“ (us-west-2
) festgelegt wird.
client = new AmazonGlacierClient(credentials);
client.setEndpoint("glacier.us-west-2.amazonaws.com");
Der folgende Codeausschnitt zeigt, wie der Endpunkt in der High-Level-API auf die Region „USA West (Oregon)“ festgelegt wird.
glacierClient = new AmazonGlacierClient(credentials);
sqsClient = new AmazonSQSClient(credentials);
snsClient = new AmazonSNSClient(credentials);
glacierClient.setEndpoint("glacier.us-west-2.amazonaws.com");
sqsClient.setEndpoint("sqs.us-west-2.amazonaws.com");
snsClient.setEndpoint("sns.us-west-2.amazonaws.com");
ArchiveTransferManager atm = new ArchiveTransferManager(glacierClient, sqsClient, snsClient);
Eine Liste der unterstützten AWS Regionen und Endpunkte finden Sie unterZugreifen auf Amazon S3 Glacier.