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:
- Obtiene el valor de la cadena de encabezado.
- Normaliza la cadena del encabezado de la solicitud en forma canónica.
- Genera un HMAC utilizando un algoritmo hash SHA-1. Mira RFC 2104 y HMAC para más detalles.
- Codifica el resultado
hmac
como base-64.
Para normalizar el encabezado en forma canónica:
- Obtiene todos los campos empezando con
x-amz-
. - Asegúrate de que todos los campos estén en minúsculas.
- Ordena los campos lexicográficamente.
- Combina varias instancias del mismo nombre de campo en un solo campo y separa los valores del campo con una coma.
- Reemplaza los espacios en blanco y los saltos de línea en los valores de campo con un solo espacio.
- Elimina los espacios en blanco antes y después de los dos puntos.
- Agrega una nueva línea después de cada campo.
- 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} | Sí |
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 Grantee y Permission . |
Grantee |
Contenedor | Un contenedor para el DisplayName y ID 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 Grantee y Permission . |
Grantee |
Contenedor | Un contenedor para el DisplayName y ID 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 ID y DisplayName 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 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
|
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. | Sí |
Part |
Contenedor | Un contenedor para el PartNumber y ETag . |
Sí |
PartNumber |
Entero | El identificador de la parte. | Sí |
ETag |
Cadena | La parte de la etiqueta de identidad. | Sí |
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