

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.

# `S3CrtClient`Für Amazon S3 S3-Operationen verwenden
<a name="examples-s3-crt"></a>

Die `S3CrtClient` Klasse ist in Version 1.9 von verfügbar AWS SDK für C\$1\$1 und verbessert den Durchsatz beim Hoch- und Herunterladen großer Datendateien zu und von Amazon S3. Weitere Informationen zu den Verbesserungen dieser Version finden Sie unter [Verbessern des Amazon S3 S3-Durchsatzes mit Version AWS SDK für C\$1\$1 1.9](https://github.com/aws/aws-sdk-cpp/wiki/Improving-S3-Throughput-with-AWS-SDK-for-CPP-v1.9)

Das `S3CrtClient` ist auf der Grundlage der [AWS Common Runtime (CRT)](https://docs.aws.amazon.com/sdkref/latest/guide/common-runtime.html) -Bibliotheken implementiert.

**Anmerkung**  
Um zu vermeiden, dass unvollständige oder teilweise Uploads in Rechnung gestellt werden, empfehlen wir Ihnen, die [AbortIncompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpu-abort-incomplete-mpu-lifecycle-config.html)Lebenszyklusregel für Ihre Amazon S3 S3-Buckets zu aktivieren.  
Diese Regel weist Amazon S3 an, mehrteilige Uploads abzubrechen, die nicht innerhalb einer bestimmten Anzahl von Tagen nach der Initiierung abgeschlossen werden. Wenn das festgelegte Zeitlimit überschritten wird, bricht Amazon S3 den Upload ab und löscht dann die unvollständigen Upload-Daten.   
Weitere Informationen finden Sie unter [Einstellung der Lebenszykluskonfiguration für einen Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html) im Amazon S3 S3-Benutzerhandbuch.

## Voraussetzungen
<a name="codeExamplePrereq"></a>

Bevor Sie beginnen, empfehlen wir Ihnen, [Erste Schritte mit dem zu](getting-started.md) lesen AWS SDK für C\$1\$1. 

Laden Sie den Beispielcode herunter und erstellen Sie die Lösung wie unter beschrieben[Erste Schritte mit Codebeispielen](getting-started-code-examples.md). 

Um die Beispiele ausführen zu können, muss das Benutzerprofil, das Ihr Code für die Anfragen verwendet, über die entsprechenden Berechtigungen verfügen AWS (für den Dienst und die Aktion). Weitere Informationen finden Sie unter [Bereitstellen von AWS Anmeldeinformationen](credentials.md).

## Objekt hoch- und herunterladen mit `S3CrtClient`
<a name="stream"></a>

Dieses Beispiel zeigt, wie Sie den verwenden [https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-s3-crt/html/class_aws_1_1_s3_crt_1_1_s3_crt_client.html](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-s3-crt/html/class_aws_1_1_s3_crt_1_1_s3_crt_client.html). Das Beispiel erstellt einen Bucket, lädt ein Objekt hoch, lädt das Objekt herunter und löscht dann die Datei und den Bucket. Eine PUT-Operation wird zu einem mehrteiligen Upload. Aus einer GET-Operation werden mehrere GET-Anfragen mit „Bereichsbereich“. Weitere Informationen zu mehrteiligen Uploads finden Sie unter [Hochladen und Kopieren von Objekten mithilfe des mehrteiligen Uploads](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html) im Amazon S3 S3-Benutzerhandbuch. 

Die bereitgestellte Datendatei,`ny.json`, wird in diesem Beispiel als mehrteiliger Upload hochgeladen. Dies kann nach einer erfolgreichen Ausführung des Programms anhand der Debug-Protokolle bestätigt werden.

Schlägt der Upload fehl, `AbortMultipartUpload` wird eine in der zugrunde liegenden CRT-Bibliothek ausgegeben, um alle bereits hochgeladenen Teile zu bereinigen. Allerdings können nicht alle Fehler intern behoben werden (z. B. wenn ein Netzwerkkabel abgezogen wird). Es wird empfohlen, eine Lebenszyklusregel für Ihren Amazon S3 S3-Bucket zu erstellen, um sicherzustellen, dass teilweise hochgeladene Daten nicht in Ihrem Konto verbleiben (teilweise hochgeladene Daten sind weiterhin fakturierbar). Informationen zum Einrichten einer Lebenszyklusregel finden Sie unter [Erkennen und Löschen unvollständiger mehrteiliger Uploads zur Senkung der Amazon S3 S3-Kosten](https://aws.amazon.com/blogs/aws-cost-management/discovering-and-deleting-incomplete-multipart-uploads-to-lower-amazon-s3-costs/ ). 

**Verwenden Sie das Debug-Protokoll, um Details zu mehrteiligen Uploads zu untersuchen**

1. Beachten Sie`main()`, dass es "TODO" Kommentare mit Anweisungen zur Aktualisierung des Codes gibt.

   1. Für`file_name`: Laden Sie über den Link im Codekommentar eine Beispieldatendatei herunter`ny.json`, oder verwenden Sie eine eigene große Datendatei.

   1. Für`region`: Aktualisieren Sie die `region` Variable mithilfe der Enumeration auf die AWS-Region Ihres Kontos. Um die Region Ihres Kontos zu finden, melden Sie sich bei an und suchen Sie die Region in der oberen rechten Ecke. AWS-Managementkonsole

1. Erstellen Sie das Beispiel.

1. Kopieren Sie die durch die Variable angegebene Datei `file_name` in Ihren ausführbaren Ordner und führen Sie die `s3-crt-demo` ausführbare Datei aus.

1. Suchen Sie in Ihrem ausführbaren Ordner nach der neuesten `.log` Datei.

1. Öffnen Sie die Protokolldatei, wählen Sie **Suchen** und geben Sie die Eingabetaste ein**partNumber**.

1. Das Protokoll enthält Einträge, die den folgenden ähneln, wobei die `partNumber` und für jeden Teil der hochgeladenen Datei angegeben `uploadId` sind:

    `PUT /my-object partNumber=1&uploadId=gsk8vDbmnlA5EseDo._LDEgq22Qmt0SeuszYxMsZ9ABt503VqDIFOP8xzZI1P0zp.ToS.qo5kK16HNWogZF3KpRo.Dc7QnLZIK0BTmzCWwWoPax4T21hvP6nPdz9591F content-length:8388608 host:my-bucketasdfasdf.s3.us-east-2.amazonaws.com x-amz-content-sha256:UNSIGNED-PAYLOAD`

    und 

    `PUT /my-object partNumber=2&uploadId=gsk8vDbmnlA5EseDo._LDEgq22Qmt0SeuszYxMsZ9ABt503VqDIFOP8xzZI1P0zp.ToS.qo5kK16HNWogZF3KpRo.Dc7QnLZIK0BTmzCWwWoPax4T21hvP6nPdz9591F content-length:8388608 host:my-bucketasdfasdf.s3.us-east-2.amazonaws.com x-amz-content-sha256:UNSIGNED-PAYLOAD `

Auf GitHub finden Sie ein [vollständiges Beispiel](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/s3-crt/s3-crt-demo.cpp).