CompleteMultipartUpload
Documentación: CompleteMultipartUpload
Descripción
La operación CompleteMultipartUpload
ensambla un objeto a partir de las partes que se han subido mediante la operación UploadPart
. Debes proporcionar una lista de los ETag de todas las partes, en el orden en que se van a concatenar.
Solicitud
Método: POST
URI:
Estilo virtual-host:
https://{bucket-name}.s3.latam-scl-x.datageneral.cl/{object-key}?uploadId={upload-id}
Estilo path:
https://s3.latam-scl-x.datageneral.cl/{bucket-name}/{object-key}?uploadId={upload-id}
Parámetros de la URI:
uploadId
: Requerido. El ID del cargamento de varias partes, obtenido de la respuesta a la operaciónCreateMultipartUpload
.
Encabezados:
Host
: Requerido. Especifica el nombre del bucket (para virtual-host) o el host del servicio (para path-style).Date
: Requerido. Fecha y hora de la solicitud.Content-Length
: Requerido. La longitud del cuerpo de la solicitud (el XML con la lista de partes).Content-Type
: Requerido. Debe serapplication/xml
.Authorization
: Requerido. Contiene la firma de la solicitud para la autenticación.
Cuerpo de la solicitud:
Requerido. Contiene un documento XML que lista las partes y sus ETags, en el orden en que deben ser ensambladas.
<CompleteMultipartUpload>
<Part>
<PartNumber>1</PartNumber>
<ETag>"parte1-etag"</ETag>
</Part>
<Part>
<PartNumber>2</PartNumber>
<ETag>"parte2-etag"</ETag>
</Part>
...
</CompleteMultipartUpload>
Respuesta
Códigos de estado:
200 OK
: El objeto se ensambló correctamente.400 Bad Request
: La solicitud no se pudo procesar debido a un error del cliente (ej., lista de partes incompleta o desordenada).403 Forbidden
: El cliente no tiene permiso para completar el cargamento de varias partes.404 Not Found
: El bucket o el cargamento de varias partes no existe.Otros códigos de error: Pueden aplicar códigos de error específicos del servicio S3.
Encabezados de la respuesta:
Date
: Fecha y hora de la respuesta.x-amz-request-id
: Un identificador único para la solicitud.x-amz-id-2
: Un identificador único extendido para la solicitud.Server
: Información sobre el servidor que procesó la solicitud.
Cuerpo de la respuesta:
Contiene un documento XML con información sobre el objeto ensamblado.
<CompleteMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01">
<Location>https://{bucket-name}.s3.latam-scl-x.datageneral.cl/nombre-del-objeto</Location>
<Bucket>nombre-del-bucket</Bucket>
<Key>nombre-del-objeto</Key>
<ETag>"objeto-completo-etag"</ETag>
</CompleteMultipartUploadResult>
Ejemplos
Ejemplo de solicitud:
POST /objeto1.txt?uploadId=9876543210abcdefghijklmnopqrstuvwxyz HTTP/1.1
Host: my-bucket.s3.latam-scl-x.datageneral.cl
Date: Sat, 31 Jul 2024 01:00:00 GMT
Content-Length: 256
Content-Type: application/xml
Authorization: AWS AKIAIOSFODNN7EXAMPLE:QWxhZGVpbjEgXA==
<CompleteMultipartUpload>
<Part>
<PartNumber>1</PartNumber>
<ETag>"parte1-etag-xxxxxxxxxxxxxxxxxxxxxxxxxxxx"</ETag>
</Part>
<Part>
<PartNumber>2</PartNumber>
<ETag>"parte2-etag-yyyyyyyyyyyyyyyyyyyyyyyyyyyy"</ETag>
</Part>
</CompleteMultipartUpload>
Ejemplo de respuesta:
HTTP/1.1 200 OK
Date: Sat, 31 Jul 2024 01:00:01 GMT
Content-Type: application/xml
x-amz-request-id: 65423A7B884B82F1
Server: MyS3Server
<?xml version="1.0" encoding="UTF-8"?>
<CompleteMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01">
<Location>https://my-bucket.s3.latam-scl-x.datageneral.cl/objeto1.txt</Location>
<Bucket>my-bucket</Bucket>
<Key>objeto1.txt</Key>
<ETag>"98f6bcd4621d373cade4e832627b4f6"</ETag>
</CompleteMultipartUploadResult>
Última actualización