Erstellen eines Tresors in Amazon S3 Glacier mithilfe der AWS SDK for Java - Amazon S3 Glacier

Diese Seite richtet sich nur an Bestandskunden des S3 Glacier-Dienstes, 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 und Langfristige Datenspeicherung mit S3 Glacier-Speicherklassen im Amazon S3 S3-Benutzerhandbuch. Diese Speicherklassen verwenden die Amazon S3 S3-API, sind in allen Regionen verfügbar und können in der Amazon S3 S3-Konsole verwaltet werden. Sie bieten Funktionen wie Speicherkostenanalyse, Storage Lens, Sicherheitsfunktionen einschließlich mehrerer Verschlüsselungsoptionen und mehr.

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.

Erstellen eines Tresors in Amazon S3 Glacier mithilfe der AWS SDK for Java

Die Low-Level-API bietet Methoden für alle Tresorvorgänge und ermöglicht u. a. das Erstellen und Löschen von Tresoren, das Abrufen einer Tresorbeschreibung und das Abrufen einer Liste der in einer bestimmten AWS-Region erstellten Tresore. Im Folgenden werden die Schritte zum Erstellen eines Tresors mit AWS SDK for Java beschrieben.

  1. Erstellen einer Instance der AmazonGlacierClient-Klasse (Client).

    Sie müssen die AWS-Region angeben, in der ein Tresor erstellt werden soll. Alle Operationen, die Sie mit diesem Client durchführen, gelten für diese AWS-Region.

  2. Um die Anforderungsinformationen bereitzustellen, erstellen Sie eine Instance der CreateVaultRequest-Klasse.

    Für Amazon S3 Glacier (S3 Glacier) ist es erforderlich, dass Sie einen Tresornamen und Ihre Konto-ID angeben. Wenn Sie keine Konto-ID angeben, wird die Konto-ID übernommen, die den Anmeldeinformationen zugeordnet ist, die Sie zum Signieren der Anfrage verwenden. Weitere Informationen finden Sie unter Verwenden von AWS SDK for Java mit Amazon S3 Glacier.

  3. Führen Sie die createVault-Methode aus, indem das Anforderungsobjekt als Parameter festgelegt wird.

    Die von S3 Glacier zurückgegebene Antwort ist im CreateVaultResult-Objekt verfügbar.

Der folgende Java-Codeausschnitt veranschaulicht die vorherigen Schritte. Der Ausschnitt erstellt einen Tresor in der Region us-west-2. Der ausgegebene Location-Wert ist der relative URI des Tresors, einschließlich Ihrer Konto-ID, der AWS-Region und des Tresornamens.

AmazonGlacierClient client = new AmazonGlacierClient(credentials); client.setEndpoint("https://glacier.us-west-2.amazonaws.com"); CreateVaultRequest request = new CreateVaultRequest() .withVaultName("*** provide vault name ***"); CreateVaultResult result = client.createVault(request); System.out.println("Created vault successfully: " + result.getLocation());
Anmerkung

Weitere Information zur zugrunde liegenden REST-API finden Sie unter Create Vault (PUT vault).

Beispiel: Erstellen eines Tresors in mit der AWS SDK for Java

Mit dem folgenden Java-Beispielcode wird ein Tresor in der Region us-west-2 erstellt (weitere Informationen zu AWS-Regionen finden Sie unter Zugreifen auf Amazon S3 Glacier). Außerdem ruft der Beispielcode die Tresorinformationen ab, listet alle Tresore in derselben AWS-Region auf und löscht danach den erstellten Tresor.

Eine schrittweise Anleitung zur Ausführung des folgenden Beispiels finden Sie unter Ausführen von Java-Beispielen für Amazon S3 Glacier unter Verwendung von Eclipse.

import java.io.IOException; import java.util.List; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.glacier.AmazonGlacierClient; import com.amazonaws.services.glacier.model.CreateVaultRequest; import com.amazonaws.services.glacier.model.CreateVaultResult; import com.amazonaws.services.glacier.model.DeleteVaultRequest; import com.amazonaws.services.glacier.model.DescribeVaultOutput; import com.amazonaws.services.glacier.model.DescribeVaultRequest; import com.amazonaws.services.glacier.model.DescribeVaultResult; import com.amazonaws.services.glacier.model.ListVaultsRequest; import com.amazonaws.services.glacier.model.ListVaultsResult; public class AmazonGlacierVaultOperations { public static AmazonGlacierClient client; public static void main(String[] args) throws IOException { ProfileCredentialsProvider credentials = new ProfileCredentialsProvider(); client = new AmazonGlacierClient(credentials); client.setEndpoint("https://glacier.us-east-1.amazonaws.com/"); String vaultName = "examplevaultfordelete"; try { createVault(client, vaultName); describeVault(client, vaultName); listVaults(client); deleteVault(client, vaultName); } catch (Exception e) { System.err.println("Vault operation failed." + e.getMessage()); } } private static void createVault(AmazonGlacierClient client, String vaultName) { CreateVaultRequest createVaultRequest = new CreateVaultRequest() .withVaultName(vaultName); CreateVaultResult createVaultResult = client.createVault(createVaultRequest); System.out.println("Created vault successfully: " + createVaultResult.getLocation()); } private static void describeVault(AmazonGlacierClient client, String vaultName) { DescribeVaultRequest describeVaultRequest = new DescribeVaultRequest() .withVaultName(vaultName); DescribeVaultResult describeVaultResult = client.describeVault(describeVaultRequest); System.out.println("Describing the vault: " + vaultName); System.out.print( "CreationDate: " + describeVaultResult.getCreationDate() + "\nLastInventoryDate: " + describeVaultResult.getLastInventoryDate() + "\nNumberOfArchives: " + describeVaultResult.getNumberOfArchives() + "\nSizeInBytes: " + describeVaultResult.getSizeInBytes() + "\nVaultARN: " + describeVaultResult.getVaultARN() + "\nVaultName: " + describeVaultResult.getVaultName()); } private static void listVaults(AmazonGlacierClient client) { ListVaultsRequest listVaultsRequest = new ListVaultsRequest(); ListVaultsResult listVaultsResult = client.listVaults(listVaultsRequest); List<DescribeVaultOutput> vaultList = listVaultsResult.getVaultList(); System.out.println("\nDescribing all vaults (vault list):"); for (DescribeVaultOutput vault : vaultList) { System.out.println( "\nCreationDate: " + vault.getCreationDate() + "\nLastInventoryDate: " + vault.getLastInventoryDate() + "\nNumberOfArchives: " + vault.getNumberOfArchives() + "\nSizeInBytes: " + vault.getSizeInBytes() + "\nVaultARN: " + vault.getVaultARN() + "\nVaultName: " + vault.getVaultName()); } } private static void deleteVault(AmazonGlacierClient client, String vaultName) { DeleteVaultRequest request = new DeleteVaultRequest() .withVaultName(vaultName); client.deleteVault(request); System.out.println("Deleted vault: " + vaultName); } }