Erstellen eines Tresors in Amazon S3 Glacier mithilfe der AWS SDK for .NET - 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 .NET

Sowohl die High-Level- als auch die Low-Level-API, die vom Amazon-SDK für .NET bereitgestellt werden, bieten eine Methode zur Erstellung eines Tresors.

Erstellen eines Tresors mithilfe der High-Level-API von AWS SDK for .NET

Die ArchiveTransferManager-Klasse der High-Level-API bietet die CreateVault-Methode, mit der Sie einen Tresor in einer AWS-Region erstellen können.

Beispiel: Tresorvorgänge bei Verwendung der High-Level-API von AWS SDK for .NET

Mit dem folgenden C#-Beispielcode wird ein Tresor in der Region „USA West (Oregon)“ erstellt und gelöscht. Eine Liste der AWS-Regionen, in denen Sie Tresore erstellen können, finden Sie unter Zugreifen auf Amazon S3 Glacier.

Eine schrittweise Anleitung zur Ausführung des folgenden Beispiels finden Sie unter Ausführen von Codebeispielen. Sie müssen den Code wie gezeigt mit einem Tresornamen aktualisieren.

using System; using Amazon.Glacier; using Amazon.Glacier.Transfer; using Amazon.Runtime; namespace glacier.amazon.com.docsamples { class VaultCreateDescribeListVaultsDeleteHighLevel { static string vaultName = "*** Provide vault name ***"; public static void Main(string[] args) { try { var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2); manager.CreateVault(vaultName); Console.WriteLine("Vault created. To delete the vault, press Enter"); Console.ReadKey(); manager.DeleteVault(vaultName); Console.WriteLine("\nVault deleted. To continue, press Enter"); Console.ReadKey(); } catch (AmazonGlacierException e) { Console.WriteLine(e.Message); } catch (AmazonServiceException e) { Console.WriteLine(e.Message); } catch (Exception e) { Console.WriteLine(e.Message); } Console.WriteLine("To continue, press Enter"); Console.ReadKey(); } } }

Erstellen eines Tresors mithilfe der Low-Level-API von AWS SDK for .NET

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 .NET 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 Anforderung verwenden. Weitere Informationen finden Sie unter Verwenden von AWS SDK for .NET 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 CreateVaultResponse-Objekt verfügbar.

Beispiel: Tresorvorgänge bei Verwendung der Low-Level-API von AWS SDK for .NET

Im folgenden C#-Codebeispiel werden die vorstehenden Schritte veranschaulicht. Das Beispiel erstellt einen Tresor in der Region „USA West (Oregon)“. Außerdem ruft der Beispielcode die Tresorinformationen ab, listet alle Tresore in derselben AWS-Region auf und löscht danach den erstellten Tresor. Der ausgegebene Location-Wert ist der relative URI des Tresors, einschließlich Ihrer Konto-ID, der AWS-Region und des Tresornamens.

Anmerkung

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

Eine schrittweise Anleitung zur Ausführung des folgenden Beispiels finden Sie unter Ausführen von Codebeispielen. Sie müssen den Code wie gezeigt mit einem Tresornamen aktualisieren.

using System; using Amazon.Glacier; using Amazon.Glacier.Model; using Amazon.Runtime; namespace glacier.amazon.com.docsamples { class VaultCreateDescribeListVaultsDelete { static string vaultName = "*** Provide vault name ***"; static AmazonGlacierClient client; public static void Main(string[] args) { try { using (client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2)) { Console.WriteLine("Creating a vault."); CreateAVault(); DescribeVault(); GetVaultsList(); Console.WriteLine("\nVault created. Now press Enter to delete the vault..."); Console.ReadKey(); DeleteVault(); } } catch (AmazonGlacierException e) { Console.WriteLine(e.Message); } catch (AmazonServiceException e) { Console.WriteLine(e.Message); } catch (Exception e) { Console.WriteLine(e.Message); } Console.WriteLine("To continue, press Enter"); Console.ReadKey(); } static void CreateAVault() { CreateVaultRequest request = new CreateVaultRequest() { VaultName = vaultName }; CreateVaultResponse response = client.CreateVault(request); Console.WriteLine("Vault created: {0}\n", response.Location); } static void DescribeVault() { DescribeVaultRequest describeVaultRequest = new DescribeVaultRequest() { VaultName = vaultName }; DescribeVaultResponse describeVaultResponse = client.DescribeVault(describeVaultRequest); Console.WriteLine("\nVault description..."); Console.WriteLine( "\nVaultName: " + describeVaultResponse.VaultName + "\nVaultARN: " + describeVaultResponse.VaultARN + "\nVaultCreationDate: " + describeVaultResponse.CreationDate + "\nNumberOfArchives: " + describeVaultResponse.NumberOfArchives + "\nSizeInBytes: " + describeVaultResponse.SizeInBytes + "\nLastInventoryDate: " + describeVaultResponse.LastInventoryDate ); } static void GetVaultsList() { string lastMarker = null; Console.WriteLine("\n List of vaults in your account in the specific region ..."); do { ListVaultsRequest request = new ListVaultsRequest() { Marker = lastMarker }; ListVaultsResponse response = client.ListVaults(request); foreach (DescribeVaultOutput output in response.VaultList) { Console.WriteLine("Vault Name: {0} \tCreation Date: {1} \t #of archives: {2}", output.VaultName, output.CreationDate, output.NumberOfArchives); } lastMarker = response.Marker; } while (lastMarker != null); } static void DeleteVault() { DeleteVaultRequest request = new DeleteVaultRequest() { VaultName = vaultName }; DeleteVaultResponse response = client.DeleteVault(request); } } }