Abrufen von Tresormetadaten in Amazon S3 Glacier mit AWS SDK for Java - Amazon S3 Glacier

Diese Seite richtet sich nur an Bestandskunden des S3 Glacier-Dienstes, die Vaults und das Original 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 Amazon S3API, sind in allen Regionen verfügbar und können in der Amazon S3 S3-Konsole verwaltet werden. Sie bieten Funktionen wie Speicherkostenanalyse, Storage Lens, erweiterte optionale Verschlüsselungsfunktionen 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.

Abrufen von Tresormetadaten in Amazon S3 Glacier mit AWS SDK for Java

Abrufen von Tresor-Metadaten für einen Tresor

Sie können Metadaten für einen bestimmten Tresor oder für alle Tresore in einer bestimmten AWS-Region abrufen. Nachfolgend werden die Schritte zum Abrufen der Tresormetadaten für einen bestimmten Tresor mithilfe der Low-Level-API des Amazon-SDK für Java beschrieben.

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

    Sie müssen eine AWS-Region angeben, in der sich der Tresor befindet. Alle Operationen, die Sie mit diesem Client ausführen, gelten für diese AWS-Region.

  2. Um die Anforderungsinformationen bereitzustellen, erstellen Sie eine Instance der DescribeVaultRequest-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 Anforderung verwenden. Weitere Informationen finden Sie unter Verwenden von AWS SDK for Java mit Amazon S3 Glacier.

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

    Die von S3 Glacier zurückgegebenen Tresormetadaten sind im DescribeVaultResult-Objekt verfügbar.

Der folgende Java-Codeausschnitt veranschaulicht die vorherigen Schritte.

DescribeVaultRequest request = new DescribeVaultRequest() .withVaultName("*** provide vault name***"); DescribeVaultResult result = client.describeVault(request); System.out.print( "\nCreationDate: " + result.getCreationDate() + "\nLastInventoryDate: " + result.getLastInventoryDate() + "\nNumberOfArchives: " + result.getNumberOfArchives() + "\nSizeInBytes: " + result.getSizeInBytes() + "\nVaultARN: " + result.getVaultARN() + "\nVaultName: " + result.getVaultName());

Anmerkung

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

Abrufen von Tresor-Metadaten für alle Tresore in einer Region

Sie können auch die listVaults-Methode verwenden, um Metadaten für alle Tresore in einer bestimmten AWS-Region abzurufen.

Mit dem folgenden Java-Code-Snippet wird eine Liste der Tresore in der Region us-west-2 abgerufen. Die Anzahl der bei der Anforderung zurückgegebenen Tresore ist auf 5 beschränkt. Der Codeausschnitt führt danach eine Reihe von listVaults-Aufrufen aus, um die gesamte Tresorliste aus der AWS-Region abzurufen.

AmazonGlacierClient client; client.setEndpoint("https://glacier.us-west-2.amazonaws.com/"); String marker = null; do { ListVaultsRequest request = new ListVaultsRequest() .withLimit("5") .withMarker(marker); ListVaultsResult listVaultsResult = client.listVaults(request); List<DescribeVaultOutput> vaultList = listVaultsResult.getVaultList(); marker = listVaultsResult.getMarker(); 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()); } } while (marker != null);

Wenn Sie im vorhergehenden Codesegment den Wert Limit in der Anforderung nicht angeben, gibt S3 Glacier bis zu 10 Tresore zurück, wie durch die S3-Glacier-API festgelegt. Wenn mehr aufzulistende Tresore vorhanden sind, enthält das Antwortfeld marker den Amazon-Ressourcennamen (ARN) des Tresors, bei dem die Liste mit einer neuen Anforderung fortzusetzen ist. Anderenfalls hat das Feld marker den Wert null.

Beachten Sie, dass die Informationen, die in der Liste für jeden Tresor zurückgegeben werden, mit den Informationen übereinstimmen, die Sie durch Aufrufen der describeVault-Methode für einen bestimmten Tresor erhalten.

Anmerkung

Durch die listVaults-Methode wird die zugrunde liegende REST-API aufgerufen (siehe List Vaults (GET vaults)).

Beispiel: Abrufen von Tresormetadaten mit dem Amazon-SDK für Java

Ein funktionierendes Codebeispiel finden Sie unter Beispiel: Erstellen eines Tresors in mit der AWS SDK for Java. Der folgende Java-Beispielcode erstellt einen Tresor und ruft die Tresor-Metadaten ab.