Cómo adjuntar datos a objetos en buckets de directorio
Puede agregar datos al final de los objetos almacenados en buckets de directorio de la clase de almacenamiento S3 Express One Zone. Le recomendamos que utilice la capacidad de adjuntar datos a un objeto si los datos se escriben de forma continua durante un período de tiempo o si necesita leer el objeto mientras escribe en él. Adjuntar datos a objetos es habitual en casos de uso como agregar nuevas entradas de registro a los archivos de registro o agregar nuevos segmentos de vídeo a los archivos de vídeo a medida que se transcodifican y se transmiten. Al adjuntar datos a los objetos, puede simplificar las aplicaciones que anteriormente combinaban datos en el almacenamiento local antes de copiar el objeto final en Amazon S3.
No existe un requisito de tamaño mínimo para los datos que puede adjuntar a un objeto. Sin embargo, el tamaño máximo de los datos que se pueden adjuntar a un objeto en una sola solicitud es de 5 GB. Es el mismo límite que el tamaño de solicitud máximo cuando se cargan datos mediante cualquier API de Amazon S3.
Con cada operación de incorporación correcta, se crea una parte del objeto y cada objeto puede tener hasta 10 000 partes. Esto significa que puede adjuntar datos a un objeto hasta 10 000 veces. Si se crea un objeto mediante la carga de varias partes de S3, cada parte cargada se cuenta para el máximo total de 10 000 partes. Por ejemplo, puede realizar la acción de adjuntar datos hasta 9000 veces a un objeto creado con una carga de varias partes compuesta de 1000 partes.
nota
Si supera el límite de partes, recibirás un mensaje de error TooManyParts. Puede utilizar la API CopyObject
para restablecer el recuento.
Si desea cargar partes en un objeto en paralelo y no necesita leerlas mientras se cargan, le recomendamos que utilice la carga de varias partes de Amazon S3. Para obtener más información, consulte Uso de la carga de varias partes.
La acción de adjuntar datos a objetos solo se admite en los objetos que están almacenados en buckets de la clase de almacenamiento S3 Express One Zone. Para obtener más información sobre S3 Express One Zone, consulte Introducción a S3 Express One Zone.
Para empezar a adjuntar datos a los objetos de los buckets de directorio, puede usar los SDK de AWS, la CLI de AWS y la API PutObject
. Cuando realice una solicitud PutObject
, configure el encabezado x-amz-write-offset-bytes
con el tamaño del objeto al que está adjuntando datos. Para usar la operación de la API PutObject
, debes usar la API CreateSession
para establecer credenciales de seguridad temporales que Le permitan acceder a los objetos de los buckets de directorio. Para obtener más información, consulte PutObject
y CreateSession
en la Referencia de la API de Amazon S3.
Cada operación para adjuntar datos correcta se factura como una solicitud PutObject
. Para obtener más información sobre precios, consulte Amazon S3
pricing
nota
A partir de la versión 1.12, Mountpoint para Amazon S3 admite adjuntar datos a objetos almacenados en S3 Express One Zone. Para comenzar, debe inscribirse mediante la configuración de la marca --incremental-upload
. Para obtener más información sobre Mountpoint, consulte Uso de Mountpoint.
Si utiliza un algoritmo CRC (comprobación de redundancia cíclica) al cargar los datos adjuntados, puede recuperar las sumas de comprobación basadas en CRC del objeto completo mediante la solicitud HeadObject
o GetObject
. Si utiliza el algoritmo SHA-1 o SHA-256 al cargar los datos adjuntados, puede recuperar una suma de comprobación de las partes adjuntadas y comprobar la integridad mediante las sumas de comprobación de SHA devueltas en respuestas anteriores de PutObject. Para obtener más información, consulte Protección y cifrado de datos.
Cómo adjuntar datos a los objetos mediante la CLI de AWS, los SDK de AWS y la API de REST
Puede adjuntar datos a los objetos mediante la AWS Command Line Interface (AWS CLI), los SDK de AWS y la API de REST.
En el siguiente comando de ejemplo de put-object
, se muestra cómo puede utilizar la CLI de AWS para recuperar metadatos de un objeto. Para ejecutar este comando, reemplace los marcadores de posición de entrada del usuario
por información propia
aws s3api put-object --bucket
amzn-s3-demo-bucket
--azid
--x-s3 --keysampleinput/file001.bin
--body bucket-seed/file001.bin --write-offset-bytes size-of-sampleinput/file001.bin
Puede enviar solicitudes REST para cargar un objeto. Para obtener más información, consulte PutObject
.