Verwenden von AWS SDK for .NET mit Amazon S3 Glacier - Amazon S3 Glacier

Wenn Sie mit dem Archivierungsspeicher in Amazon Simple Storage Service (Amazon S3) noch nicht vertraut sind, empfehlen wir Ihnen, sich zunächst über die S3-Glacier-Speicherklassen in Amazon S3 (S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval und S3 Glacier Deep Archive) zu informieren. Weitere Informationen finden Sie unter S3 Glacier-Speicherklassen und Speicherklassen für die Archivierung von Objekten im Amazon S3 S3-Benutzerhandbuch.

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 von AWS SDK for .NET mit Amazon S3 Glacier

Die AWS SDK for .NET-API ist in der Datei AWSSDK.dll verfügbar. Weitere Informationen zum Herunterladen von AWS SDK for .NET finden Sie unter Beispiel-Code und Bibliotheken. Wie in Verwenden der AWS-SDKs mit Amazon S3 Glacier beschrieben, stellt AWS SDK for .NET sowohl eine High-Level- als auch eine Low-Level-API bereit.

Anmerkung

Low-Level-API und High-Level-API stellen threadsichere Clients für den Zugriff auf S3 Glacier zur Verfügung. Als bewährte Methode sollten Ihre Anwendungen einen Client erstellen und diesen zwischen den Threads wiederverwenden.

Verwenden der Low-Level-API

Die AmazonGlacierClient-Klasse der Low-Level-API enthält alle Methoden, die sich den zugrunde liegenden REST-Operationen in Amazon S3 Glacier (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 eine 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)). Damit Sie diese Methode verwenden können, müssen Sie Instances der Klassen CreateVaultRequest und CreateVaultResponse erstellen, um Anforderungsinformationen bereitzustellen und eine S3-Glacier-Antwort zu empfangen. Dies wird im folgenden C#-Codeausschnitt dargestellt:

AmazonGlacierClient client; client = new AmazonGlacierClient(Amazon.RegionEndpoint.USEast1); CreateVaultRequest request = new CreateVaultRequest() { AccountId = "-", VaultName = "*** Provide vault name ***" }; CreateVaultResponse response = client.CreateVault(request);

Alle Low-Level-Beispiele in diesem Handbuch entsprechen diesem Muster.

Anmerkung

Im vorstehenden Codesegment wird beim Erstellen der Anfrage AccountId angegeben. Bei Verwendung des AWS SDK for .NET ist die Angabe der AccountId in der Anfrage optional, und daher wird dieser Wert in allen Low-Level-Beispielen in diesem Handbuch nicht festgelegt. AccountId ist die AWS-Konto-ID. Dieser Wert muss mit der AWS-Konto-ID übereinstimmen, die mit den zum Signieren der Anforderung verwendeten Anmeldeinformationen verknüpft ist. Sie können entweder eine AWS-Konto-ID oder optional einen Bindestrich („-“) angeben. Bei Angabe eines Bindestrichs verwendet S3 Glacier die AWS-Konto-ID, die mit den zum Signieren der Anforderung verwendeten Anmeldeinformationen verknüpft ist. Wenn Sie Ihre Konto-ID angeben, müssen Sie sie ohne Bindestriche eingeben. Wenn Sie bei Verwendung von AWS SDK for .NET keine Konto-ID angeben, legt die Bibliotheksfunktion die Konto-ID auf ‚-‘ fest,

Verwenden der High-Level-API

Zur weiteren Vereinfachung der Anwendungsentwicklung stellt AWS SDK for .NET die ArchiveTransferManager-Klasse bereit, die für einige Methoden der Low-Level-API eine Abstraktion auf höherer Ebene implementiert. Sie stellt nützliche Methoden wie Upload und Download für die Archivoperationen bereit.

Beispielsweise wird im folgenden C#-Codeausschnitt die High-Level-Methode Upload zum Hochladen eines Archivs verwendet.

string vaultName = "examplevault"; string archiveToUpload = "c:\folder\exampleArchive.zip"; var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USEast1); string archiveId = manager.Upload(vaultName, "archive description", archiveToUpload).ArchiveId;

Beachten Sie, dass alle von Ihnen durchgeführten Operationen für die AWS-Region gelten, die Sie beim Erstellen des ArchiveTransferManager-Objekts angegeben haben. Alle High-Level-Beispiele in diesem Handbuch entsprechen diesem Muster.

Anmerkung

Auch die ArchiveTransferManager-Klasse der High-Level-API braucht den Low-Level-Client AmazonGlacierClient, den Sie entweder explizit übergeben oder von ArchiveTransferManager erstellen lassen können.

Ausführen von Codebeispielen

Am einfachsten gelingt der Einstieg in die .NET-Codebeispiele durch die Installation von AWS SDK for .NET. Weitere Informationen finden Sie im Artikel zum Amazon-SDK für .NET.

Im folgenden Verfahren werden die Schritte beschrieben, mit denen Sie die in diesem Handbuch bereitgestellten Codebeispiele testen können.

1

Erstellen Sie ein Anmeldeinformationsprofil für Ihre AWS-Anmeldeinformationen, wie im Thema zum Konfigurieren von AWS-Anmeldeinformationen für das Amazon-SDK für .NET beschrieben wird.

2

Erstellen Sie ein neues Visual-Studio-Projekt mit der Vorlage AWS Empty Project.

3

Ersetzen des Codes in der Projektdatei, Program.cs, durch den Code in dem Abschnitt, den Sie gerade lesen.

4

Führen Sie den Code aus. Stellen Sie sicher, dass das Objekt mit der AWS Management Console erstellt wurde. Weitere Informationen zur AWS Management Console finden Sie unter https://aws.amazon.com/console/.

Festlegen des Endpunkts

Standardmäßig legt AWS SDK for .NET den Endpunkt auf die Region „USA West (Oregon)“ (https://glacier.us-west-2.amazonaws.com) fest. Sie können den Endpunkt auf andere AWS-Regionen festlegen, wie in den folgenden C#-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.

AmazonGlacierClient client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2);

Der folgende Codeausschnitt zeigt, wie der Endpunkt in der High-Level-API auf die Region „USA West (Oregon)“ festgelegt wird.

var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);

Eine aktuelle Liste der unterstützten AWS-Regionen und Endpunkte finden Sie unter Zugreifen auf Amazon S3 Glacier.