Ajout de données à des objets dans des compartiments de répertoires - Amazon Simple Storage Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Ajout de données à des objets dans des compartiments de répertoires

Vous pouvez ajouter des données à la fin des objets existants stockés dans la classe de stockage S3 Express One Zone dans les compartiments de répertoires. Nous vous recommandons d’utiliser la fonctionnalité permettant d’ajouter des données à un objet si les données sont écrites en continu pendant une période de temps spécifique ou si vous devez lire l’objet pendant que vous y ajoutez des données. L’ajout de données à des objets est courant dans des cas d’utilisation tels que l’ajout de nouvelles entrées de journal aux fichiers journaux ou l’ajout de nouveaux segments vidéo aux fichiers vidéo lors de leur transcodage puis de leur diffusion en continu. En ajoutant des données aux objets, vous pouvez simplifier les applications qui combinaient auparavant les données dans le stockage local avant de copier l’objet final sur Amazon S3.

Aucune taille minimale n’est requise pour les données que vous pouvez ajouter à un objet. Toutefois, la taille maximale des données que vous pouvez ajouter à un objet dans une seule demande est de 5 Go. Il s’agit de la même limite que la taille de demande la plus grande lors du chargement de données à l’aide d’une API Amazon S3.

À chaque opération d’ajout réussie, vous créez une partie de l’objet, et chaque objet peut comporter jusqu’à 10 000 parties. Vous pouvez donc ajouter une entité de données à un objet jusqu’à 10 000 fois. Si un objet est créé à l’aide du chargement partitionné S3, chaque partie chargée est prise en compte dans le calcul du quota maximum de 10 000 parties. Par exemple, vous pouvez ajouter jusqu’à 9 000 parties à un objet créé par chargement partitionné comprenant 1 000 parties.

Note

Si vous atteignez la limite de pièces, vous recevrez un TooManyPartsmessage d'erreur. Vous pouvez utiliser l’API CopyObject pour réinitialiser le décompte.

Si vous souhaitez charger des parties dans un objet en parallèle et que vous n’avez pas besoin de les lire pendant le chargement, nous vous recommandons d’utiliser le chargement partitionné Amazon S3. Pour plus d’informations, consultez Utilisation du chargement partitionné.

L’ajout de données aux objets n’est pris en charge que pour les objets qui se trouvent dans des compartiments de répertoires stockés dans la classe de stockage S3 Express One Zone. Pour plus d’informations sur S3 Express One Zone, consultez Bien démarrer avec S3 Express One Zone.

Pour commencer à ajouter des données aux objets de vos compartiments de répertoire, vous pouvez utiliser la AWS SDKs AWS CLI et l'PutObjectAPI. Lorsque vous effectuez une demande PutObject, vous définissez l’en-tête x-amz-write-offset-bytes en fonction de la taille de l’objet auquel vous ajoutez des données. Pour utiliser l’opération d’API PutObject, vous devez utiliser l’API CreateSession afin d’établir des informations d’identification de sécurité temporaires pour accéder aux objets de vos compartiments de répertoires. Pour plus d’informations, consultez PutObject et CreateSession dans la Référence d’API Amazon S3.

Chaque opération d’ajout réussie est facturée comme une demande PutObject. Pour en savoir plus sur la tarification, consultez Amazon S3 pricing.

Note

À partir de la version 1.12, Mountpoint pour Amazon S3 prend en charge l’ajout de données aux objets stockés dans S3 Express One Zone. Pour commencer, vous devez d’abord activer cette fonctionnalité en définissant l’indicateur --incremental-upload . Pour plus d’informations sur Mountpoint, consultez Utilisation de Mountpoint.

Si vous utilisez un algorithme CRC (Cyclic Redundancy Check) lors du chargement des données ajoutées, vous pouvez récupérer les sommes de contrôle CRC de l’objet entier à l’aide de la demande HeadObject ou GetObject. Si vous utilisez l'algorithme SHA-1 ou SHA-256 lors du téléchargement des données ajoutées, vous pouvez récupérer une somme de contrôle des parties ajoutées et vérifier leur intégrité à l'aide des sommes de contrôle SHA renvoyées lors des réponses précédentes. PutObject Pour plus d’informations, consultez Protection et chiffrement des données.

Ajout de données à vos objets à l'aide de la AWS CLI AWS SDKs et de l'API REST

Vous pouvez ajouter des données à vos objets à l'aide de l'API AWS Command Line Interface (AWS CLI) AWS SDKs et de l'API REST.

L'put-objectexemple de commande suivant montre comment utiliser la AWS CLI pour ajouter des données à un objet. Pour exécuter cette commande, remplacez le user input placeholders par vos propres informations

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

Vous pouvez utiliser le AWS SDK pour Java pour ajouter des données à vos objets.

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)

Vous pouvez envoyer des demandes REST pour ajouter des données à un objet. Pour de plus amples informations, veuillez consulter PutObject.