PutObject
Documentación: PutObject
Descripción
La operación PutObject
crea un nuevo objeto o reemplaza un objeto existente dentro de un bucket.
Solicitud
Método: PUT
URI:
Estilo virtual-host:
https://{bucket-name}.s3.latam-scl-x.datageneral.cl/{object-key}
Estilo path:
https://s3.latam-scl-x.datageneral.cl/{bucket-name}/{object-key}
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 objeto que se va a cargar).Content-Type
: Requerido. El tipo de contenido del objeto (ej.,text/plain
,image/jpeg
).Authorization
: Requerido. Contiene la firma de la solicitud para la autenticación.x-amz-acl
: Opcional. Define el Access Control List (ACL) para el objeto. Algunos valores comunes son:private
: El propietario del bucket tiene acceso completo. Todos los demás no tienen acceso.public-read
: El propietario tiene acceso completo. Todos los demás pueden leer.public-read-write
: El propietario tiene acceso completo. Todos los demás pueden leer y escribir.
x-amz-storage-class
: Opcional. La clase de almacenamiento para el objeto. Los valores válidos son:STANDARD
(predeterminado)REDUCED_REDUNDANCY
Otros valores pueden ser soportados dependiendo de la implementación de S3.
x-amz-meta-*
: Opcional. Metadatos definidos por el usuario. El prefijox-amz-meta-
es obligatorio.x-amz-server-side-encryption
: Opcional. Tipo de encriptación a usar.x-amz-website-redirect-location
: Opcional. Si el objeto es un redirect, contiene la URL.Otros encabezados opcionales: Dependiendo de las funcionalidades que se quieran agregar.
Cuerpo de la solicitud:
Requerido. Contiene los datos del objeto que se van a almacenar.
Respuesta
Códigos de estado:
200 OK
: La carga del objeto se realizó correctamente.201 Created
: La carga del objeto se realizó correctamente.400 Bad Request
: La solicitud no se pudo procesar debido a un error del cliente.403 Forbidden
: El cliente no tiene permiso para cargar el objeto.404 Not Found
: El bucket no existe.411 Length Required
: El encabezadoContent-Length
es requerido.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.ETag
: El ETag del objeto recién cargado.x-amz-version-id
: La versión del objeto (si está habilitado el versionamiento).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.x-amz-server-side-encryption
: Si se usó encriptación, devuelve el algoritmo usado.
Cuerpo de la respuesta:
Vacío. No hay contenido en el cuerpo de la respuesta para una carga exitosa.
Ejemplos
Ejemplo de solicitud (carga de un archivo de texto):
PUT /objeto1.txt HTTP/1.1
Host: my-bucket.s3.latam-scl-x.datageneral.cl
Date: Fri, 30 Jul 2024 22:00:00 GMT
Content-Length: 26
Content-Type: text/plain
Authorization: AWS AKIAIOSFODNN7EXAMPLE:QWxhZGVpbjEgXA==
Este es el contenido del objeto.
Ejemplo de respuesta:
HTTP/1.1 200 OK
Date: Fri, 30 Jul 2024 22:00:01 GMT
ETag: "xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
x-amz-request-id: 65423A7B884B82F1
Server: MyS3Server
Ejemplo de solicitud (carga de un archivo con metadatos):
PUT /imagen.jpg HTTP/1.1
Host: my-bucket.s3.latam-scl-x.datageneral.cl
Date: Fri, 30 Jul 2024 22:15:00 GMT
Content-Length: 102400
Content-Type: image/jpeg
Authorization: AWS AKIAIOSFODNN7EXAMPLE:QWxhZGVpbjEgXA==
x-amz-meta-nombre: "Imagen de prueba"
x-amz-meta-autor: "Usuario123"
[Datos binarios de la imagen]
Ejemplo de respuesta:
HTTP/1.1 200 OK
Date: Fri, 30 Jul 2024 22:15:01 GMT
ETag: "yyyyyyyyyyyyyyyyyyyyyyyyyyyy"
x-amz-request-id: 98765QWERTYUIOP
Server: MyS3Server
Última actualización