Using the AWS SDK for .NET - Amazon Simple Storage Service

Dieses Handbuch wird nicht mehr aktualisiert. Aktuelle Informationen und Anweisungen finden Sie im neuen Amazon S3 Benutzerhandbuch.

Using the AWS SDK for .NET

Das AWS SDK for .NET stellt die API für den Amazon S3-Bucket- und Objektoperationen bereit. Für Objektoperationen bietet der SDK zusätzlich zu der API für das Hochladen von Objekten in einer einzigen Operation die API zum mehrteiligen Hochladen großer Objekte bereit (siehe Hochladen von Objekten unter Verwendung des API für mehrteilige Uploads).

Das AWS SDK for .NET bietet Ihnen die Option, eine High-Level- oder eine Low-Level-API zu verwenden.

API auf niedriger Ebene

Die Low-Level-APIs entsprechen den zugrunde liegenden Amazon S3-REST-Vorgängen, wie beispielsweise zum Erstellen, Aktualisieren und Löschen, die auf Buckets und Objekte angewendet werden. Wenn Sie große Objekte über die Low-Level-API für mehrteilige Uploads hochladen (siehe Hochladen von Objekten unter Verwendung des API für mehrteilige Uploads), bietet dies eine bessere Kontrolle. Beispielsweise können Sie damit mehrteilige Uploads unterbrechen und fortsetzen, die Teilegrößen während des Uploads ändern oder Uploads beginnen, obwohl Sie die Größe der Daten nicht vorab kennen. Wenn Sie diese Anforderungen nicht haben, verwenden Sie die High-Level API zum Hochladen von Objekten.

API auf hoher Ebene

Zum Hochladen von Objekten bietet das SDK einen höheren Abstraktionsgrad, indem es die Klasse TransferUtility bereitstellt. Die High-Level API ist eine einfachere API, wobei Sie mit nur ein paar Codezeilen Dateien und Streams in Amazon S3 hochladen können. Sie sollten diese API verwenden, um Daten hochzuladen, es sei denn, Sie müssen den Upload kontrollieren, wie im vorigen Abschnitt über die Low-Level API beschrieben.

Für kleinere Datengrößen lädt die TransferUtility-API Daten in einer einzigen Operation hoch. Der TransferUtility wechselt jedoch zur Verwendung der API für den mehrteiligen Upload, wenn die Datengröße eine bestimmte Schwelle erreicht. Standardmäßig verwendet er mehrere Threads, um die Teile nebenläufig hochzuladen. Wenn der Upload eines Teils fehlschlägt, wiederholt API diesen Upload bis zu dreimal. Dies sind jedoch konfigurierbare Optionen.

Anmerkung

Wenn Sie einen Stream für die Datenquelle verwenden, führt die TransferUtility-Klasse keine gleichzeitigen Uploads durch.

Die .NET API Organisation

Wenn Sie Amazon S3-Anwendungen mit dem AWS SDK for .NET schreiben, verwenden Sie die AWSSDK.dll. Die folgenden Namespaces in dieser Gruppe stellen die API für mehrteilige Uploads bereit:

  • Amazon.S3.Transfer – Stellt die High-Level API für den mehrteiligen Upload Ihrer Daten bereit.

    Beinhaltet die TransferUtility-Klasse, die Ihnen ermöglicht, eine Datei, ein Verzeichnis oder einen Stream zum Hochladen Ihrer Daten bereitzustellen. Darüber hinaus beinhaltet sie die Klassen TransferUtilityUploadRequest und TransferUtilityUploadDirectoryRequest, um erweiterte Einstellungen zu konfigurieren, wie beispielsweise die Anzahl gleichzeitiger Threads, die Teilegröße, die Objekt-Metadaten, die Speicherklasse (STANDARD, REDUCED_REDUNDANCY) und die Objekt-Zugriffskontrollliste (ACL).

  • Amazon.S3 – Stellt die Implementierung für Low-Level APIs bereit.

    Bietet Methoden, die der Amazon S3-REST-API für den mehrteiligen Upload entsprechen (siehe Verwenden der REST API für einen mehrteiligen Upload).

  • Amazon.S3.Model –Stellt die Low-Level API-Klassen zum Erstellen von Anfragen und zum Verarbeiten von Antworten bereit. Sie beinhaltet beispielsweise die Klassen InitiateMultipartUploadRequest und InitiateMultipartUploadResponse, die Sie für die Initiierung eines mehrteiligen Uploads verwenden können, und die Klassen UploadPartRequest und UploadPartResponse, wenn Teile hochgeladen werden.

  • Amazon.S3.Encryption – Stellt AmazonS3EncryptionClient bereit.

  • Amazon.S3.Util – Stellt verschiedene Klassen wie z. B. AmazonS3Util und BucketRegionDetector bereit.

Weitere Informationen zur AWS SDK for .NET API finden Sie in der API-Referenz zum AWS SDK for .NET Version 3.

Ausführen der .NET-Codebeispiele für Amazon S3

Die .NET-Codebeispiele in diesem Handbuch sind mit der dem AWS SDK for .NET Version 3.0 kompatibel. Informationen zum Einrichten und Ausführen der Codebeispiele finden Sie unter Erste Schritte mit dem AWS SDK for .NET im Entwicklerhandbuch zum AWS SDK for .NET.