Anhängen von Daten an Objekte in Verzeichnis-Buckets - Amazon Simple Storage Service

Anhängen von Daten an Objekte in Verzeichnis-Buckets

Sie können Daten am Ende vorhandener Objekte hinzufügen, die in der S3-Express-One-Zone-Speicherklasse in Verzeichnis-Buckets gespeichert sind. Es wird empfohlen, die Möglichkeit zum Anhängen von Daten an ein Objekt zu nutzen, wenn die Daten über einen bestimmten Zeitraum kontinuierlich geschrieben werden oder wenn Sie das Objekt lesen müssen, während Sie in das Objekt schreiben. Das Anhängen von Daten an Objekte wird häufig in Anwendungsfällen wie dem Hinzufügen neuer Protokolleinträge zu Protokolldateien oder dem Hinzufügen neuer Videosegmente zu Videodateien eingesetzt, wenn diese transkodiert und anschließend gestreamt werden. Durch das Anhängen von Daten an Objekte können Sie Anwendungen vereinfachen, die zuvor Daten im lokalen Speicher kombiniert haben, bevor das endgültige Objekt zu Amazon S3 kopiert wurde.

Es gibt keine Mindestgröße für die Daten, die Sie an ein Objekt anhängen können. Die maximale Größe der Daten, die Sie in einer einzigen Anfrage an ein Objekt anhängen können, beträgt jedoch 5 GB. Dies ist dasselbe Limit wie die maximale Anforderungsgröße beim Hochladen von Daten mit einer beliebigen Amazon-S3-API.

Bei jedem erfolgreichen Anfügevorgang erstellen Sie einen Teil des Objekts und jedes Objekt kann bis zu 10 000 Teile haben. Das bedeutet, dass Sie Daten bis zu 10 000 Mal an ein Objekt anhängen können. Wenn ein Objekt mithilfe des mehrteiligen S3-Uploads erstellt wird, wird jeder hochgeladene Teil auf die Gesamtzahl von 10 000 Teilen angerechnet. Sie können beispielsweise bis zu 9 000 Mal an ein Objekt anhängen, das durch mehrteiligen Upload aus 1 000 Teilen erstellt wurde.

Anmerkung

Wenn Sie das Limit an Teilen erreichen, erhalten Sie einen TooManyParts-Fehler. Sie können die CopyObject-API verwenden, um die Anzahl zurückzusetzen.

Wenn Sie Teile parallel in ein Objekt hochladen möchten und die Teile nicht lesen müssen, während die Teile hochgeladen werden, empfehlen wir Ihnen, den mehrteiligen Upload in Amazon S3 zu verwenden. Weitere Informationen finden Sie unter Verwenden von mehrteiligen Uploads.

Das Anfügen von Daten an Objekte wird nur für Objekte in Verzeichnis-Buckets unterstützt, die in der Speicherklasse S3 Express One Zone gespeichert sind. Weitere Informationen zu S3 Express One Zone finden Sie unter Erste Schritte mit S3 Express One Zone.

Um mit dem Anhängen von Daten an Objekte in Ihren Verzeichnis-Buckets zu beginnen, können Sie die AWS-SDKs, die AWS-CLI und die PutObject-API verwenden. Wenn Sie eine PutObject-Anfrage stellen, legen Sie den x-amz-write-offset-bytes-Header auf die Größe des Objekts fest, an das Sie den Anhang anfügen. Um den PutObject API-Vorgang verwenden zu können, müssen Sie die CreateSession-API verwenden, um temporäre Sicherheitsanmeldeinformationen für den Zugriff auf die Objekte in Ihren Verzeichnis-Buckets einzurichten. Weitere Informationen finden Sie unter PutObject und CreateSession in der Amazon-S3-API-Referenz.

Jeder erfolgreiche Anfügevorgang wird als PutObject-Anforderung abgerechnet. Weitere Informationen zur Preisgestaltung finden Sie unter Amazon S3 pricing.

Anmerkung

Ab Version 1.12 unterstützt Mountpoint für Amazon S3 das Anhängen von Daten an Objekte, die in S3 Express One Zone gespeichert sind. Um zu beginnen, müssen Sie sich zunächst anmelden, indem Sie das --incremental-upload -Flag setzen. Weitere Informationen zu Mountpoint finden Sie unter Arbeiten mit Mountpoint.

Wenn Sie beim Hochladen der angehängten Daten einen CRC-Algorithmus (Cyclic Redundancy Check) verwenden, können Sie mit der HeadObject- oder GetObject-Anforderung vollständige CRC-basierte Prüfsummen für Objekte abrufen. Wenn Sie den SHA-1- oder SHA-256-Algorithmus beim Hochladen Ihrer angehängten Daten verwenden, können Sie eine Prüfsumme der angehängten Teile abrufen und deren Integrität mit den in früheren PutObject-Antworten zurückgegebenen SHA-Prüfsummen überprüfen. Weitere Informationen finden Sie unter Datenschutz und Verschlüsselung.

Anhängen von Daten an Objekte mithilfe der AWS-CLI, AWS-SDKs und der REST-API

Sie können Daten an Ihre Objekte anhängen, indem Sie die AWS Command Line Interface (AWS CLI), AWS SDKs und REST-API verwenden.

Das folgende put-object-Beispiel veranschaulicht, wie Sie die AWS verwenden können, um Daten an ein Objekt anzuhängen. Um den Befehl zu verwenden, ersetzen Sie den Platzhaltertext des Benutzers durch Ihre eigenen Informationen.

aws s3api put-object --bucket amzn-s3-demo-bucket--azid--x-s3 --key sampleinput/file001.bin --body bucket-seed/file001.bin --write-offset-bytes size-of-sampleinput/file001.bin
SDK for Java

Sie können das AWS SDK für Java verwenden, um Daten an Ihre Objekte anzuhängen.

var putObjectRequestBuilder = PutObjectRequest.builder() .key(key) .bucket(bucketName) .writeOffsetBytes(9); var response = s3Client.putObject(putObjectRequestBuilder.build());
SDK for Python
s3.put_object(Bucket='amzn-s3-demo-bucket--use2-az2--x-s3', Key='2024-11-05-sdk-test', Body=b'123456789', WriteOffsetBytes=9)

Sie können REST-Anfragen senden, um Daten an ein Objekt anzufügen. Weitere Informationen finden Sie unter PutObject.