Como usar API S3-compatible de DreamObjects

 

DreamObjects API RADOS S3

DreamObjects es compatible con la API de Amazon S3, por lo que es fácil usar sus aplicaciones existentes. Sin embargo, a diferencia de Amazon, DreamObjects usa RGW, la puerta de enlace RADOS que se basa en el almacén de archivos CEPH.

Características Soportadas

La siguiente tabla describe el estado de soporte para las características funcionales actuales de Amazon S3:

Característica Estado Comentarios
PUT Bucket (Crea Bucket) Soportado Diferentes conjuntos de ACL enlatados
DELETE Bucket Soportado  
GET Bucket (Lista los Objects) Soportado  
GET Bucket ACLs Soportado Diferentes conjuntos de ACL enlatados
PUT Bucket ACLs Soportado Diferentes conjuntos de ACL enlatados
HEAD Bucket (Obtiene la información del) Soportado  
Bucket Lifecycle No Soportado  
Bucket Location No Soportado  
Bucket Notification No Soportado  
Bucket Object Versions Soportado  
Bucket Request Payment No Soportado  
Bucket Website No Soportado  
Policy (Buckets, Objects) No Soportado ACLs son Soportados
PUT Object Soportado  
DELETE Object Soportado  
GET Object Soportado  
GET Object ACLs Soportado  
PUT Object ACLs Soportado  
HEAD Object (Obtiene información del Object) Soportado  
POST Object Soportado  
COPY Object Soportado  
Multipart Uploads Soportado (Parte COPY faltante)
 

Campos de Encabezados No Soportados

No se admiten los siguientes campos de encabezado de solicitud comunes:

Nombre Tipo
x-amz-security-token Requerimiento
Server Respuesta
x-amz-delete-marker Respuesta
x-amz-id-2 Respuesta
x-amz-request-id Respuesta
x-amz-version-id Respuesta
 

 

Entidades Comunes

 

Bucket y Hostname

Hay dos modos diferentes de acceder a los buckets. El primer método (preferido) identifica el depósito como el directorio de nivel superior en el URI:

GET /mybucket HTTP/1.1
Host: objects-us-east-1.dream.io

El segundo método identifica el bucket a través de un hostname bucket virtual. Por ejemplo:

GET / HTTP/1.1
Host: mybucket.objects-us-east-1.dream.io

DreamHost prefiere el primer método, porque el segundo método requiere una costosa certificación de dominio y wilcards de DNS.

 

Requerimiento de Encabezados Comunes

Requerimiento de Encabezado Descripción
CONTENT_LENGTH El largo del cuerpo del requerimiento.
DATE Requerimiento de fecha y hora (en UTC).
HOST El nombre del servidor de alojamiento.
AUTHORIZATION Token de autorización.
 

Respuesta de Estados Comunes

Estado de HTTP Código de Respuesta
100 Continue
200 Success
201 Created
202 Accepted
204 NoContent
206 Partial content
304 NotModified
400 InvalidArgument
400 InvalidDigest
400 BadDigest
400 InvalidBucketName
400 InvalidObjectName
400 UnresolvableGrantByEmailAddress
400 InvalidPart
400 InvalidPartOrder
400 RequestTimeout
400 EntityTooLarge
403 AccessDenied
403 UserSuspended
403 RequestTimeTooSkewed
404 NoSuchKey
404 NoSuchBucket
404 NoSuchUpload
405 MethodNotAllowed
408 RequestTimeout
409 BucketAlreadyExists
409 BucketNotEmpty
411 MissingContentLength
412 PreconditionFailed
416 InvalidRange
422 UnprocessableEntity
500 InternalError
 

 

Cómo Autenticar a DreamObjects con API S3

Las solicitudes a DreamObjects pueden estar autenticadas o no. DreamObjects asume que las solicitudes no autenticadas son enviadas por un usuario anónimo. DreamObjects también admite ACL predefinidas.

 

Autenticación

Autenticar un requerimiento requiere incluir una Llave de Acceso y un código de autenticación de mensajes basado en hash (HMAC) en la solicitud antes de que se envíe al servidor RGW. RGW utiliza un enfoque de autenticación compatible con S3:

HTTP/1.1
PUT /buckets/bucket/object.mpeg
Host: objects-us-east-1.dream.io
Date: Mon, 25 Mar 2024 00:01:01 +0000
Content-Encoding: mpeg
Content-Length: 9999999
                      
Authorization: AWS {access-key}:{hash-of-header-and-secret}

En el anterior ejemplo, reemplaza {access-key} con el valor de tu ID de clave de acceso seguido de dos puntos (:). Reemplaza {hash-of-header-and-secret} con un hash de la cadena de encabezado y el secreto correspondiente al ID de la clave de acceso.

Para generar el hash de la cadena de encabezado y el secreto:

  1. Obtiene el valor de la cadena de encabezado.
  2. Normaliza la cadena del encabezado de la solicitud en forma canónica.
  3. Genera un HMAC utilizando un algoritmo hash SHA-1. Mira RFC 2104 y HMAC para más detalles.
  4. Codifica el resultado hmac como base-64.

Para normalizar el encabezado en forma canónica:

  1. Obtiene todos los campos empezando con x-amz-.
  2. Asegúrate de que todos los campos estén en minúsculas.
  3. Ordena los campos lexicográficamente.
  4. Combina varias instancias del mismo nombre de campo en un solo campo y separa los valores del campo con una coma.
  5. Reemplaza los espacios en blanco y los saltos de línea en los valores de campo con un solo espacio.
  6. Elimina los espacios en blanco antes y después de los dos puntos.
  7. Agrega una nueva línea después de cada campo.
  8. Vuelve a fusionar los campos en el encabezado.

Reemplaza {hash-of-header-and-secret} con la cadena HMAC codificada en base 64.

Entender la Lista de Control de Acceso de DreamObjects S3-compatible

DreamObjects admite la función de lista de control de acceso (ACL) compatible con S3. Una ACL es una lista de concesiones de acceso que especifica qué operaciones puede realizar un usuario en un depósito o en un objeto. Cada subvención tiene un significado diferente cuando se aplica a un depósito en comparación con un objeto:

Permiso Bucket Object
READ El concesionario puede enumerar los object en el bucket. El concesionario puede leer el object.
WRITE El concesionario puede escribir y eliminar objects en el bucket. N/A
READ_ACP El concesionario puede leer bucket ACL. El concesionario puede leer object ACL.
WRITE_ACP El concesionario puede escribir bucket ACL. El concesionario puede escribir en el object ACL.
FULL_CONTROL El concesionario tiene permisos completos para el object en el bucket. El concesionario puede leer o escribir el object ACL.
 

Entender las Operaciones de Servicio de DreamObjects S3-compatible

 

Lista de Buckets

GET / devuelve una lista de buckets creados por el usuario que realiza la solicitud. GET / solo devuelve buckets creados por un usuario autenticado. No puede realizar una solicitud anónima.

 

Sintaxis

GET / HTTP/1.1
Host: objects-us-east-1.dream.io
                        
Authorization: AWS {access-key}:{hash-of-header-and-secret}
 

Entidades de Respuesta

Nombre Tipo Descripción
Buckets Contenedor Contenedor para la lista de buckets.
Bucket Contenedor Contenedor para información de bucket.
Name Cadena Nombre del bucket.
CreationDate Fecha UTC el momento en el que el bucket fue creado.
ListAllMyBucketsResult Contenedor Un contenedor para el resultado.
Owner Contenedor Un contenedor para el sueño del bucket ID y DisplayName.
ID Cadena El ID del dueño del bucket.
DisplayName Cadena El nombre del dueño del bucket.
 

Entender las Operaciones de Bucket de DreamObjects S3-compatible

 

PUT Bucket

Crea un nuevo bucket. Para crear un nuevo bucket, debes tener un ID de usuario y un ID de clave de acceso de AWS válido para autenticar las solicitudes. No puedes crear buckets como usuario anónimo.

DreamHost no soporta entidades de requerimiento para PUT /{bucket} en este lanzamiento.

 

Restricciones

En general, los nombre de bucket no deberían seguir restricciones de nombre:

  • Los nombres de bucket deben ser únicos.
  • Los nombres de bucket deben empezar y terminar con una letra minúscula.
  • Los nombres de bucket pueden contener un guión (-).
 

Sintaxis

PUT /{bucket} HTTP/1.1
Host: objects-us-east-1.dream.io
x-amz-acl: public-read-write
                              
Authorization: AWS {access-key}:{hash-of-header-and-secret}
 

Parámetros

Nombre Descripción Valores válidos Requerido
x-amz-acl ACLs enlatados. private, public-read, public-read-write, authenticated-read No
 

Respuesta de HTTP

Si el nombre del bucket es único, dentro de las limitaciones y no se utiliza, la operación se realiza correctamente.

Si ya existe un bucket con el mismo nombre y el usuario es el propietario del bucket, la operación se realiza correctamente.

Si el nombre de bucket está en ya en uso, la operación falla.

Estado de HTTP Código de Estado Descripción
409 BucketAlreadyExists El bucket ya existe bajo la propiedad de un usuario diferente.
 

DELETE Bucket

Elimina un bucket. Puedes reutilizar los nombres de los buckets después de eliminarlos correctamente.

 

Sintaxis

DELETE /{bucket} HTTP/1.1
Host: objects-us-east-1.dream.io
                              
Authorization: AWS {access-key}:{hash-of-header-and-secret}
 

HTTP Response

Estado de HTTP Código de Estado Descripción
204 No Content Bucket eliminado.
 

GET Bucket

Devuelve una lista de los objetos del bucket.

 

Sintaxis

GET /{bucket}?max-keys=25 HTTP/1.1
Host: objects-us-east-1.dream.io
 

Parámetros

Nombre Tipo Descripción
prefix Cadena Solo devuelve objects que contiene un prefijo específico.
delimiter Cadena El delimitador entre el prefijo y el resto del nombre del object.
marker Cadena Un índice inicial para la lista de objetos devueltos.
max-keys Entero El número máximo de llaves a devolver. Por defecto es 1000.
 

Respuesta de HTTP

Estado de HTTP Código de Estado Descripción
200 OK Buckets recuperados
 

Entidades de Respuesta de Buckets

GET /{bucket} devuelve un contenedor para buckets con los siguientes campos.

Nombre Tipo Descripción
ListBucketResult Entidad El contenedor para la lista de objects.
Name Cadena El nombre del bucket cuyos contenidos son devueltos.
Prefix Cadena Un prefijo para las llaves del object.
Marker Cadena Un índice inicial para la lista de objects devueltos.
MaxKeys Entero El número máximo de llaves devueltas.
Delimiter Cadena Si se establece, los objects con el mismo prefijo aparecen en la lista CommonPrefixes.
IsTruncated Booleano Si es true, solo se devuelve un subconjunto del contenido del bucket.
CommonPrefixes Contenedor Si varios objects contienen el mismo prefijo, aparecen en esta lista.
 

Entidades de respuesta de objects

El ListBucketResult contiene objects, donde cada object está dentro de un Contents contenedor.

Nombre Tipo Descripción
Contents Object Un contenedor para el object.
Key Cadena La llave del object’s.
LastModified Fecha La última fecha/hora en la que el object fue modificado.
ETag Cadena Un hash MD-5 del objeto. (etiqueta de la entidad)
Size Entero El tamaño del object.
StorageClass Cadena Siempre debe devolver STANDARD.
 

Get Bucket ACL

Devuelve la lista de control de acceso al bucket. El usuario debe ser el dueño del bucket o tener READ_ACP permiso del bucket.

 

Sintaxis

Agrega la subfuente acl al requerimiento del bucket como se muestra abajo.

GET /{bucket}?acl HTTP/1.1
Host: objects-us-east-1.dream.io
                              
Authorization: AWS {access-key}:{hash-of-header-and-secret}
 

Entidades de Respuesta

Nombre Tipo Descripción
AccessControlPolicy Contenedor Un contenedor para la respuesta.
AccessControlList Contenedor Un contenedor para la información de ACL.
Owner Contenedor Un contenedor para el dueño del bucket ID y DisplayName.
ID Cadena El ID del bucket del dueño.
DisplayName Cadena El nombre del dueño del bucket.
Grant Contenedor Un contenedor para Grantee y Permission.
Grantee Contenedor Un contenedor para el DisplayName y ID del usuario que recibe el permiso.
Permission Cadena El permiso dado para el Grantee bucket.
 

PUT Bucket ACL

Establece un control de acceso a un bucket existente. El usuario debe ser el propietario del bucket o haber recibido un permiso WRITE_ACP en el bucket.

 

Sintaxis

Agrega la subfuente acl al requerimiento del bucket como se muestra abajo.

PUT /{bucket}?acl HTTP/1.1
 

Entidades del Requerimiento

Nombre Tipo Descripción
AccessControlPolicy Contenedor Un contenedor para el requerimiento.
AccessControlList Contenedor Un contenedor para la información de ACL.
Owner Contenedor Un contenedor para el dueño del bucket ID y DisplayName.
ID Cadena El ID del dueño del bucket
DisplayName Cadena El nombre del dueño del bucket.
Grant Contenedor Un contenedor para Grantee y Permission.
Grantee Contenedor Un contenedor para el DisplayName y ID del usuario recibiendo el permiso.
Permission Cadena El permiso dado al Grantee bucket.
 

Lista de Subidas de Multipartes de Bucket

GET /?uploads devuelve una lista de las cargas de varias partes en curso, es decir, la aplicación inicia una carga de varias partes, pero el servicio aún no ha completado todas las cargas.

 

Sintaxis

GET /{bucket}?uploads HTTP/1.1
                              
 

Parámetros

Puedes especificar parámetros para GET /{bucket}?uploads, pero ninguno es requerido.

Nombre Tipo Descripción
prefix Cadena Devuelve cargas en curso cuyas claves contienen el prefijo especificado.
delimiter Cadena El delimitador entre el prefijo y el resto del nombre del objects.
key-marker Objeto El marcador de inicio de la lista de subidas.
max-keys Entero El máximo número de subidas en progreso. Por defecto es 1000.
max-uploads Entero El máximo número de multipartes subidas. El rango de 1-1000. Por defecto es 1000.
upload-id-marker Cadena Se ignora si key-marker no es especificado. Especifica el ID de la primera suba a la lista en orden lexicografical o siguiendo el ID.
 

Entidades de Respuesta

Nombre Tipo Descripción
ListMultipartUploadsResult Contenedor Un contenedor para los resultados.
ListMultipartUploadsResult.Prefix Cadena El prefijo especificado por el prefix parámetro del requerimiento (si hay alguno).
Bucket Cadena El bucket que recibe el contenido del bucket.
KeyMarker Cadena El marcador clave especificado por el key-marker parámetro del requerimiento (si hay alguno).
UploadIdMarker Cadena El marcador especificado por el upload-id-marker parámetro del requerimiento (si hay alguno).
NextKeyMarker Cadena El marcador clave que se utilizará en una solicitud posterior si IsTruncated es true.
NextUploadIdMarker Cadena El marcador de IS para usar en un requerimiento subsecuente si IsTruncated es true.
MaxUploads Entero Las subidas máximas especificadas por el max-uploads parámetro del requerimiento.
Delimiter Cadena Si es configurado, los objects con el mismo prefijo aparecen en la lista CommonPrefixes.
IsTruncated Booleano Si true, solo se devuelve un subconjunto del contenido de carga del bucket.
Upload Contenedor Un contenedor para Key, UploadId, InitiatorOwner, StorageClass, y elementos Initiated.
Key Cadena La clave del object una vez que se completa la carga de varias partes.
UploadId Cadena El ID que identifica la multiparte subida.
Initiator Contenedor Contiene el ID y DisplayName del usuario quien inició la subida.
DisplayName Cadena El nombre del iniciador.
ID Cadena El ID del iniciador.
Owner Contenedor Un contenedor para el ID y DisplayName del usuario quien es dueño del object subido.
StorageClass Cadena El método usado para guardar el object resultante. STANDARD o REDUCED_REDUNDANCY
Initiated Fecha La fecha y hora que el usuario inició la subida.
CommonPrefixes Contenedor Si varios objects contienen el mismo prefijo, aparecen en esta lista.
CommonPrefixes.Prefix Cadena La subcadena de la llave después de que el prefijo es definido por el prefix parámetro del requerimiento.
 

 

Entender las Operaciones de Objects de DreamObjects S3-compatible

 

PUT Object

Agrega un objeto a un bucket. Debes tener permisos de escritura en el bucket para realizar esta operación.

 

Sintaxis

PUT /{bucket}/{object} HTTP/1.1
                                                
 

Encabezados de Requerimiento

Nombre Descripción Valores Válidos Requerido
content-md5 Un hash MD5 codificado en base64 del mensaje. Una cuerda. Sin incumplimientos ni restricciones. No
content-type Un tipo MIME estándar. Cualquier tipo de MIME. Por defecto: binary/octet-stream No
x-amz-meta-<...> Metadata del usuario. Guardado con el objeto. Una cadena de hasta 8kb. Sin predeterminados. No
x-amz-acl Un ACL enlatado. private, public-read, public-read-write, authenticated-read No
 

COPY Object

Para copiar un object, usa PUT y especifica un bucket de destino y el nombre del object.

 

Sintaxis

PUT /{dest-bucket}/{dest-object} HTTP/1.1
x-amz-copy-source: {source-bucket}/{source-object}

Encabezados de Requerimiento

Nombre Descripción Valores Válidos Requerido
x-amz-copy-source El nombre de la fuente del bucket + el nombre del object. {bucket}/{obj}
x-amz-acl Un ACL enlatado. private, public-read, public-read-write, authenticated-read No
x-amz-copy-if-modified-since Copia solo si se modifica desde la marca de tiempo. Marca de tiempo No
x-amz-copy-if-unmodified-since Copia solo si se modifica desde la marca de tiempo. Marca de tiempo No
x-amz-copy-if-match Copia solo si el ETag del object coincide con ETag. Etiqueta de identidad No
x-amz-copy-if-none-match Copia solo si el ETag object no coincide. Etiqueta de identidad No
 

Entidades de Respuesta

Nombre Tipo Descripción
CopyObjectResult Contenedor Un contenedor para los elementos de respuesta.
LastModified Fecha La última fecha de modificación del objeto de origen.
Etag Cadena La ETag del nuevo object.
 

DELETE Object

Elimina el object. Requiere permiso WRITE configurado en el bucket contenedor.

 

Sintaxis

DELETE /{bucket}/{object} HTTP/1.1
                                                

GET Object

Recupera un object de un bucket dentro de RADOS.

 

Sintaxis

GET /{bucket}/{object} HTTP/1.1
                                                
 

Requerimientos de Encabezados

Nombre Descripción Valores Válidos Requeridos
range El rango del object a recuperar. Rango: bytes=beginbyte-endbyte No
if-modified-since Solo se obtiene si se modifica desde la marca de tiempo. Marca de tiempo No
if-unmodified-since Solo se obtiene si se modifica desde la marca de tiempo. Marca de tiempo No
if-match Solo se obtiene si el object ETag coincide con ETag. Etiqueta de identidad No
if-none-match Solo se obtiene si el object ETag coincide con ETag. Etiqueta de identidad No
 

Entidades de Respuesta

Nombre Descripción
Content-Range Rango de datos. Se devuelve solo si el campo de encabezado del rango se especificó en la solicitud.
 

Obtener la información del Object

Devuelve información sobre el object. Esta solicitud devuelve la misma información de encabezado que la solicitud Get Object, pero solo incluye los metadatos, no la carga útil de datos del object.

 

Sintaxis

HEAD /{bucket}/{object} HTTP/1.1
                                                
 

Requerimientos de Encabezados

Nombre Descripción Valores Válidos Requerido
range El rango del object a recuperar. Rango: bytes=beginbyte-endbyte No
if-modified-since Solo se obtiene si se modifica desde la marca de tiempo. Marca de tiempo No
if-unmodified-since Solo se obtiene si se modifica desde la marca de tiempo. Marca de tiempo No
if-match Solo se obtiene si el object ETag coincide con ETag. Etiqueta de Identidad No
if-none-match Solo se obtiene si el object ETag coincide con ETag. Etiqueta de Identidad No
 

Get Object ACL

 

Sintaxis

GET /{bucket}/{object}?acl HTTP/1.1
                                                
 

Entidades de Respuesta

Nombre Tipo Descripción
AccessControlPolicy Contenedor Un contenedor para la respuesta.
AccessControlList Contenedor Un contenedor para la información ACL.
Owner Contenedor Un contenedor para el ID del duelo del object y DisplayName.
ID Cadena El ID del dueño del Object.
DisplayName Cadena El nombre del dueño del object.
Grant Contenedor Un contenedor para GranteePermission.
Grantee Contenedor Un contenedor para el DisplayNameID del usuario que recibe el permiso.
Permission Cadena El permiso dado del objeto Grantee.
 

Set Object ACL

 

Sintaxis

PUT /{bucket}/{object}?acl
                                                
 

Entidades de Respuesta

Nombre Tipo Descripción
AccessControlPolicy Contenedor Un contenedor para la respuesta.
AccessControlList Contenedor Un contenedor para la información ACL.
Owner Contenedor Un contenedor para el ID del duelo del object y DisplayName.
ID Cadena El ID del dueño del Object.
DisplayName Cadena El nombre del dueño del object.
Grant Contenedor Un contenedor para GranteePermission.
Grantee Contenedor Un contenedor para el DisplayNameID del usuario que recibe el permiso.
Permission Cadena El permiso dado del objeto Grantee.
 

Initiate Multi-part Upload

Inicia un proceso de subida de multiparte.

 

Syntax

POST /{bucket}/{object}?uploads
                                                
 

Requerimiento de Encabezados

Nombre Descripción Valores Válidos Requerido
content-md5 Un hash MD5 codificado en base64 del mensaje. Una cuerda. Sin predeterminaros ni restricciones. No
content-type Un tipo MIME estándar. Cualquier tipo MIME. Por defecto: binary/octet-stream No
x-amz-meta-<...> Metadatos de usuario. Almacenado con el object. Una cadena de hasta 8kb. Sin predeterminados. No
x-amz-acl Un ACL enlatado. private, public-read, public-read-write, authenticated-read No
 

Entidades de Respuesta

Nombre Tipo Descripción
InitiatedMultipartUploadsResult Contenedor Un contenedor para los resultados.
Bucket Cadena El bucket que recibe el contenido del object.
Key Cadena La llave especificada por el parámetro de requerimiento key  (si hay alguno).
UploadId Cadena El ID especificado por el parámetro de requerimiento upload-id de la multiparte subida (si hay alguna).
 

Parte de Multiparte Subida

 

Sintaxis

PUT /{bucket}/{object}?partNumber=&uploadId= HTTP/1.1
                                                
 

Respuesta de HTTP

La siguiente respuesta de HTTP puede ser devuelta:

Estado de HTTP Código de Estado Descripción
404 NoSuchUpload El ID de carga especificado no coincide con ninguna carga iniciada en este object
 

Lista de Partes Subidas de Multipart

 

Sintaxis

GET /{bucket}/{object}?uploadId=123 HTTP/1.1
                                                
 

Response Entities

Name Type Description
InitiatedMultipartUploadsResult Contenedor Un contenedor para los resultados.
Bucket Cadena El bucket que recibe el contenido del object.
Key Cadena La llave especificada por el parámetro de requerimiento key  (si hay alguno).
UploadId Cadena El ID especificado por el parámetro de requerimiento upload-id de la multiparte subida (si hay alguna).
Initiator Contenedor Contiene el IDDisplayName del usuario quien esta interesado en iniciar la subida.
ID Cadena El ID del iniciador.
DisplayName Cadena El nombre del iniciador.
Owner Contenedor Un contenedor para el IDDisplayName del usuario quien es dueño del object subido.
StorageClass Cadena El método usado para guardar el object resultante. STANDARD o REDUCED_REDUNDANCY
PartNumberMarker Cadena El marcador de pieza que se utilizará en una solicitud posterior si IsTruncated es true. Precede a la lista.
NextPartNumberMarker Cadena La siguiente parte del marcador a usar en un requerimiento subsecuente si IsTruncated es true. El final de la lista.
MaxParts Entero Las partes máximas permitidas en la respuesta como es especificado por el parámetro del requerimiento max-parts.
IsTruncated Booleano Si es true, solo se devuelve un subconjunto del contenido de carga del object.
Part Contenedor Un contenedor para los elementos Key, Part, InitiatorOwner, StorageClass, y Initiated.
PartNumber Entero El número de identificación de la pieza.
ETag Cadena La etiqueta de entidad de la pieza.
Size Entero El tamaño de la parte subida.
 

Subida Completa de Multipartes

Ensambla las partes cargadas y crea un nuevo object, completando así una subida de multipartes.

 

Sintaxis

POST /{bucket}/{object}?uploadId= HTTP/1.1
                                                
 

Entidades de Requerimiento

Nombre Tipo Descripción Requerido
CompleteMultipartUpload Contenedor Un contenedor que consiste en una o más partes.
Part Contenedor Un contenedor para el PartNumberETag.
PartNumber Entero El identificador de la parte.
ETag Cadena La parte de la etiqueta de identidad.
 

Response Entities

Name Type Description
CompleteMultipartUploadResult Contenedor Un contenedor para la respuesta.
Location URI El identificador del recurso (path) del nuevo object.
Bucket Cadena El nombre del bucket que contiene el nuevo object.
Key Cadena La llave del object.
ETag Cadena La Entidad de Identidad del nuevo object.
 

Abortar la Subida de la Multiparte

 

Sintaxis

DELETE /{bucket}/{object}?uploadId= HTTP/1.1
                                                

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?