Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2024-09-18 GMT+08:00

Carga de objetos - PUT

Funciones

Después de crear un bucket en OBS, puede usar esta operación para cargar un objeto en el bucket. Esta operación carga un objeto a un bucket. Para usar esta operación, debe tener el permiso de escritura para el bucket.

El nombre de cada objeto de un bucket debe ser único.

Si el control de versiones no está habilitado, si un objeto que se va a cargar tiene el mismo nombre que un objeto existente en el bucket, el objeto recién cargado sobrescribirá al existente. Para proteger los datos de corromperse durante la transmisión, puede agregar el encabezado Content-MD5 en la solicitud. Después de recibir el objeto cargado, OBS compara el valor MD5 proporcionado con el valor MD5 que calcula. Si los dos valores no coinciden, OBS informa de un error.

También puede especificar el valor del parámetro x-obs-acl para configurar una política de control de acceso para el objeto. Si no se especifica el parámetro x-obs-acl cuando un usuario anónimo carga un objeto, todos los usuarios de OBS pueden acceder al objeto de forma predeterminada.

Esta operación admite la encriptación del lado del servidor.

Para una sola carga, el tamaño del objeto que se va a cargar varía [0, 5 GB]. Para cargar un archivo de más de 5 GB, consulte Operaciones en carga multiparte.

OBS no tiene carpetas reales. Para facilitar la gestión de datos, OBS proporciona un método para simular una carpeta añadiendo una barra diagonal (/) al nombre del objeto, por ejemplo, test/123.jpg. Puede simular test como una carpeta y 123.jpg como el nombre de un archivo bajo la carpeta test. Sin embargo, la clave del objeto sigue siendo test/123.jpg. Los objetos nombrados en este formato aparecen como carpetas en la consola. Cuando se carga un objeto de tamaño mayor que 0 con este formato, se mostrará una carpeta vacía en la consola, pero la capacidad de almacenamiento ocupada es el tamaño real del objeto.

Diferencias entre los métodos PUT y POST

Los parámetros se pasan a través de la cabecera de petición si el método PUT se usa para cargar objetos; si el método POST se usa para cargar objetos, los parámetros se pasan a través del campo de formulario en el cuerpo del mensaje.

Con el método PUT, debe especificar el nombre de objeto en la URL, pero el nombre de objeto no es necesario con el método POST, que utiliza el nombre de dominio de bucket como URL. Las líneas de solicitud de los dos métodos son las siguientes:

PUT /ObjectName HTTP/1.1
POST / HTTP/1.1

Para obtener más información acerca de la carga POST, consulte Carga de objetos - POST.

Control de versiones

Si el control de versiones está habilitado para un bucket, el sistema genera automáticamente un ID de versión único para el objeto solicitado en este bucket y devuelve el ID de versión en el encabezado de respuesta x-obs-version-id. Si el control de versiones está suspendido para el bucket, el ID de la versión del objeto es null. Para obtener más información sobre los estados de control de versiones de un bucket, consulte Configuración del control de versiones para un bucket.

WORM

Si un bucket tiene WORM habilitado, puede configurar políticas de retención para objetos en el bucket. Puede especificar los encabezados x-obs-object-lock-mode y x-obs-object-lock-retain-until-date para configurar una política de retención al cargar un objeto. Si no especifica estos dos encabezados pero ha configurado una política WORM predeterminada a nivel de bucket, esta política predeterminada se aplica automáticamente al objeto recién cargado. También puede configurar o actualizar una política de retención de WORM para un objeto existente.

Cuando habilita WORM para un bucket, OBS activa automáticamente el control de versiones para el bucket. WORM protege los objetos basándose en los IDs de versión del objeto. Solo se protegerán las versiones de objetos con cualquier política de retención de WORM configurada. Supongamos que el objeto test.txt 001 está protegido por WORM. Si se carga otro archivo con el mismo nombre, se generará una nueva versión de objeto test.txt 002 sin política de WORM configurada. En tal caso, test.txt 002 no están protegidas y se pueden eliminar. Cuando descargue un objeto sin especificar un ID de versión, se descargará la versión actual del objeto (test.txt 002).

Sintaxis de solicitud

1
2
3
4
5
6
7
PUT /ObjectName HTTP/1.1 
Host: bucketname.obs.region.myhuaweicloud.com Content-Type: application/xml 
Content-Length: length
Authorization: authorization
Date: date
<Optional Additional Header> 
<object Content>

Parámetros de solicitud

Esta solicitud no contiene parámetros.

Encabezados de solicitud

Esta solicitud utiliza encabezados comunes. Para más detalles, consulte Tabla 3. La solicitud puede utilizar encabezados adicionales, como se indica en Tabla 1.

OBS admite los seis encabezados de solicitud HTTP: Cache-Control, Expires, Content-Encoding, Content-Disposition, Content-Type y Content-Language. Si estos encabezados se incluyen en una solicitud de carga de objetos, sus valores se guardan. También puede invocar a la API de modificación de metadatos, proporcionada por OBS, para cambiar los valores de los seis encabezados. Cuando se descarga o consulta el objeto, los valores guardados se establecen para los encabezados HTTP correspondientes y se devuelven al cliente.

Tabla 1 Encabezados de solicitud

Encabezado

Descripción

Obligatorio

Content-MD5

Resumen MD5 de 128 bits codificado en base64 del mensaje de acuerdo con RFC 1864.

Tipo: string

Ejemplo: n58IG6hfM7vqI4K0vnWpog==

No

x-obs-acl

Al crear un objeto, puede agregar este encabezado para establecer la política de control de permisos para el objeto. Las políticas comunes predefinidas son las siguientes: private, public-read y public-read-write. Para obtener más información sobre cada política, consulte la configuración de ACL mediante campos de encabezado en ACLs.

Tipo: string

Nota: Este encabezado es una política predefinida expresada en una string de caracteres.

Ejemplo: x-obs-acl: public-read

No

x-obs-grant-read

Al crear un objeto, puede utilizar este encabezado para conceder a todos los usuarios de una cuenta los permisos para leer el objeto y obtener los metadatos del objeto.

Tipo: string

Ejemplo: x-obs-grant-read: id=domainID. Si se autorizan varias cuentas, sepárelas con comas (,).

No

x-obs-grant-read-acp

Al crear un objeto, puede utilizar este encabezado para conceder a todos los usuarios de una cuenta los permisos para obtener la ACL del objeto.

Tipo: string

Ejemplo: x-obs-grant-read-acp: id=domainID. Si se autorizan varias cuentas, sepárelas con comas (,).

No

x-obs-grant-write-acp

Al crear un objeto, puede utilizar este encabezado para conceder a todos los usuarios de una cuenta el permiso para escribir la ACL de destino.

Tipo: string

Ejemplo: x-obs-grant-write-acp: id=domainID. Si se autorizan varias cuentas, sepárelas con comas (,).

No

x-obs-grant-full-control

Al crear un objeto, puede utilizar este encabezado para conceder a todos los usuarios de una cuenta los permisos para leer el objeto, obtener los metadatos del objeto y la ACL, y escribir la ACL del objeto.

Tipo: string

Ejemplo: x-obs-grant-full-control: id=domainID. Si se autorizan varias cuentas, sepárelas con comas (,).

No

x-obs-storage-class

Al crear un objeto, puede utilizar este encabezado para especificar la clase de almacenamiento para el objeto. Si no utiliza este encabezado, la clase de almacenamiento de objetos es la clase de almacenamiento predeterminada del bucket.

Tipo: string

Opciones de clase de almacenamiento: STANDARD (Standard), WARM (Infrequent Access), COLD (Archive). Los valores distinguen entre mayúsculas y minúsculas.

Ejemplo: x-obs-storage-class: STANDARD

No

x-obs-meta-*

Al crear un objeto, puede usar un encabezado que comience con x-obs-meta- para definir metadatos de objeto en una solicitud HTTP. Los metadatos definidos por el usuario se devolverán en la respuesta cuando recupere el objeto o consulte los metadatos del objeto. Para obtener más información, consulte Metadatos de objetos definidos por el usuario.

Tipo: string

Ejemplo: x-obs-meta-test: test metadata

Restricción: Tanto las claves de metadatos definidas por el usuario como sus valores deben cumplir con los estándares US-ASCII.

No

x-obs-persistent-headers

Al crear un objeto, puede agregar el encabezado x-obs-persistent-headers en una solicitud HTTP para especificar uno o más encabezados de respuesta definidos por el usuario. Los encabezados de respuesta definidos por el usuario se devolverán en el encabezado de respuesta cuando recupere el objeto o consulte los metadatos del objeto.

Tipo: string

Formato: x-obs-persistent-headers: key1:base64_encode(value1),key2:base64_encode(value2)...

Nota: Los elementos, como key1 y key2, son encabezados definidos por el usuario. Si contienen caracteres no ASCII o irreconocibles, se pueden codificar mediante URL o Base64. El servidor procesa estos encabezados como cadenas de caracteres, pero no los decodifica. Los elementos, tales como value1 y value2, son los valores de las cabeceras correspondientes. base64_encode indica que el valor se codifica usando Base64. Un encabezado definido por el usuario y su valor codificado en Base64 se conectan usando dos puntos (:) para formar un par clave-valor. Todos los pares clave-valor se separan con una coma (,) y se colocan en el encabezado x-obs-persistent-headers. A continuación, el servidor decodifica el valor cargado.

Ejemplo: x-obs-persistent-headers: key1:dmFsdWUx,key2:dmFsdWUy

El encabezado devuelto para descargar el objeto u obtener los metadatos del objeto es key1:value1 o key2:value2 respectivamente.

Restricciones:

  1. Los encabezados de respuesta personalizados de esta manera no pueden tener el prefijo x-obs-. Por ejemplo, debes usar key1 en lugar de x-obs-key1 en lugar de hacerlo.
  2. Los encabezados de HTTP estándar, como host, content-md5, origin, range y Content-Disposition no se pueden especificar como los encabezados personalizados.
  3. La longitud total de este encabezado y los metadatos personalizados no puede superar los 8 KB.
  4. Si se pasan las mismas claves, los valores se separan con comas (,) y luego se devuelven en una clave.
  5. Si el valor decodificado contiene caracteres no US-ASCII o irreconocibles, el servidor procesa el valor como una cadena y lo encapsula usando ?UTF-8?B?<(str)>?= pero no decodifica el valor. Por ejemplo, el valor key1:abbc se devolverá como key1: =?UTF-8?B?abbc?=.
  6. Los valores no pueden contener espacios, signos iguales (=), comas (,), punto y coma (;), dos puntos (:) o puntos (.). Si estos caracteres son necesarios, utilice la codificación URL o Base64.

No

x-obs-website-redirect-location

Si un bucket está configurado con la función de alojamiento de sitios web estático, redirigirá las solicitudes para este objeto a otro objeto en el mismo bucket o a una URL externa. OBS almacena el valor de este encabezado en los metadatos del objeto.

En el siguiente ejemplo, el encabezado de solicitud establece la redirección a un objeto (anotherPage.html) en el mismo bucket:

x-obs-website-redirect-location:/anotherPage.html

En el ejemplo siguiente, el encabezado de solicitud establece la redirección del objeto a una URL externa:

x-obs-website-redirect-location:http://www.example.com/

Tipo: string

Valor predeterminado: ninguno

Restricción: el valor debe tener el prefijo de una barra diagonal (/), http://, o https://. La longitud del valor no puede superar los 2 KB.

No

x-obs-server-side-encryption

Indica que se utiliza SSE-KMS.

Tipo: string

Ejemplo: x-obs-server-side-encryption: kms

No. Este encabezado es necesario cuando se utiliza SSE-KMS.

x-obs-server-side-encryption-kms-key-id

Indica la clave principal cuando se utiliza SSE-KMS. Si no se proporciona este encabezado, se utilizará la clave principal predeterminada. Si no existe una clave principal por defecto, OBS creará una y la usará por defecto.

Tipo: string

Se admiten los dos formatos siguientes:

- regionID:domainID:key/key_id

- key_id

regionID indica el ID de la región a la que pertenece la clave. domainID indica el ID del tenant al que pertenece la clave. key_id indica el ID de la clave creada en DEW.

Ejemplo:

- x-obs-server-side-encryption-kms-key-id: region:domainiddomainiddomainiddoma0001: key/4f1cd4de-ab64-4807-920a-47fc42e7f0d0

- x-obs-server-side-encryption-kms-key-id: 4f1cd4de-ab64-4807-920a-47fc42e7f0d0

No

x-obs-server-side-encryption-customer-algorithm

Indica el algoritmo de encriptación cuando se utiliza SSE-C.

Tipo: string

Ejemplo: x-obs-server-side-encryption-customer-algorithm: AES256

Restricción: Este encabezado debe usarse junto con x-obs-server-side-encryption-customer-key y x-obs-server-side-encryption-customer-key-MD5.

No. Este encabezado se requiere cuando se utiliza SSE-C.

x-obs-server-side-encryption-customer-key

Indica la clave para cifrar objetos cuando se utiliza SSE-C.

Tipo: string

Ejemplo: x-obs-server-side-encryption-customer-key:K7QkYpBkM5+hca27fsNkUnNVaobncnLht/rCB2o/9Cw=

Restricción: Este encabezado es una clave de 256 bits codificada en Base64 y debe usarse junto con x-obs-server-side-encryption-customer-algorithm y x-obs-server-side-encryption-customer-key-MD5.

No. Este encabezado se requiere cuando se utiliza SSE-C.

x-obs-server-side-encryption-customer-key-MD5

Indica el valor MD5 de la clave de encriptación cuando se utiliza SSE-C. El valor MD5 se utiliza para comprobar si se produce algún error durante la transmisión de la clave.

Tipo: string

Ejemplo: x-obs-server-side-encryption-customer-key-MD5:4XvB3tbNTN+tIEVa0/fGaQ==

Restricción: Este encabezado es un valor MD5 de 128 bits codificado en Base64 y debe usarse junto con x-obs-server-side-encryption-customer-algorithm y x-obs-server-side-encryption-customer-key.

No. Este encabezado se requiere cuando se utiliza SSE-C.

success-action-redirect

Indica la dirección (URL) a la que se redirige una solicitud respondida correctamente.

  • Si el valor es válido y la solicitud se realiza correctamente, OBS devuelve el código de estado 303. Location contiene success_action_redirect, así como el nombre del bucket, el nombre del objeto y el objeto ETag.
  • Si este valor de parámetro no es válido, OBS omite este parámetro. En tal caso, el encabezado Location es la dirección del objeto, y OBS devuelve el código de respuesta basándose en si la operación tiene éxito o falla.

Tipo: string

No

x-obs-expires

Especifica cuándo caduca un objeto. Se mide en días. Una vez que el objeto caduca, se elimina automáticamente. (La validez se calcula a partir del tiempo de creación del objeto.)

Puede configurar este campo al cargar un objeto o modificarlo mediante la API de modificación de metadatos después de cargar el objeto.

Tipo: integer

Ejemplo: x-obs-expires:3

No

x-obs-object-lock-mode

Modo de WORM que se aplicará al objeto. Actualmente, solo se admite COMPLIANCE. Este encabezado debe usarse junto con x-obs-object-lock-retain-until-date.

Tipo: string

Ejemplo: x-obs-object-lock-mode:COMPLIANCE

No, pero es necesario cuando x-obs-object-lock-retain-until-date está presente.

x-obs-object-lock-retain-until-date

Indica el tiempo de caducidad de la retención de Object Lock. El valor debe ser una hora UTC que cumpla con la norma ISO 8601, por ejemplo 2015-07-01T04:11:15Z. Este encabezado debe usarse junto con x-obs-object-lock-mode.

Tipo: string

Ejemplo: x-obs-object-lock-retain-until-date:2015-07-01T04:11:15Z

No, pero es necesario cuando x-obs-object-lock-mode está presente.

Elementos de solicitud

Esta solicitud no contiene elementos. Su cuerpo contiene solo el contenido del objeto solicitado.

Sintaxis de respuesta

1
2
3
HTTP/1.1 status_code
Content-Length: length
Content-Type: type

Encabezados de respuesta

La respuesta a la solicitud utiliza encabezados comunes. Para más detalles, consulte Tabla 1.

Además de los encabezados de respuesta comunes, los encabezados de mensaje enumerados en Tabla 2 puede ser usado.

Tabla 2 Encabezados de respuesta adicionales

Encabezado

Descripción

x-obs-version-id

ID de versión del objeto. Si el control de versiones está habilitado para el bucket, se devolverá el ID de versión del objeto.

Tipo: string

x-obs-server-side-encryption

Este encabezado se incluye en una respuesta si se utiliza SSE-KMS.

Tipo: string

Ejemplo: x-obs-server-side-encryption:kms

x-obs-server-side-encryption-kms-key-id

Indica el ID de clave principal. Este encabezado se incluye en una respuesta cuando se usa SSE-KMS.

Tipo: string

Formato: regionID:domainID:key/key_id

regionID indica el ID de la región a la que pertenece la clave. domainID indica el ID del tenant al que pertenece la clave. key_id indica el ID de clave utilizado en esta encriptación.

Ejemplo: x-obs-server-side-encryption-kms-key-id:region:domainiddomainiddomainiddoma0001:key/4f1cd4de-ab64-4807-920a-47fc42e7f0d0

x-obs-server-side-encryption-customer-algorithm

Indica el algoritmo de encriptación. Este encabezado se incluye en una respuesta cuando se usa SSE-C.

Tipo: string

Ejemplo: x-obs-server-side-encryption-customer-algorithm: AES256

x-obs-server-side-encryption-customer-key-MD5

Indica el valor MD5 de la clave para cifrar objetos. Este encabezado se incluye en una respuesta cuando se usa SSE-C.

Tipo: string

Ejemplo: x-obs-server-side-encryption-customer-key-MD5:4XvB3tbNTN+tIEVa0/fGaQ==

x-obs-storage-class

Este encabezado se devuelve cuando la clase de almacenamiento de un objeto no es Standard. El valor puede ser WARM o COLD.

Tipo: string

Elementos de respuesta

Esta respuesta no contiene elementos.

Respuestas de error

No se devuelven respuestas de error especiales. Para obtener más información sobre las respuestas de error, consulte Tabla 2.

Ejemplo de solicitud: Carga de un objeto

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
PUT /object01 HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: WED, 01 Jul 2015 04:11:15 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:gYqplLq30dEX7GMi2qFWyjdFsyw=
Content-Length: 10240
Expect: 100-continue

[1024 Byte data content]

Ejemplo de respuesta: Carga de un objeto

1
2
3
4
5
6
7
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF2600000164364C10805D385E1E3C67
ETag: "d41d8cd98f00b204e9800998ecf8427e"
x-obs-id-2: 32AAAWJAMAABAAAQAAEAABAAAQAAEAABCTzu4Jp2lquWuXsjnLyPPiT3cfGhqPoY
Date: WED, 01 Jul 2015 04:11:15 GMT
Content-Length: 0

Ejemplo de solicitud: Carga de un objeto (con la ACL configurada)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
PUT /object01 HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: WED, 01 Jul 2015 04:13:55 GMT
x-obs-grant-read:id=52f24s3593as5730ea4f722483579ai7,id=a93fcas852f24s3596ea8366794f7224
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:gYqplLq30dEX7GMi2qFWyjdFsyw=
Content-Length: 10240
Expect: 100-continue

[1024 Byte data content]

Ejemplo de respuesta: Carga de un objeto (con la ACL configurada)

1
2
3
4
5
6
7
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BB7800000164845759E4F3B39ABEE55E
ETag: "d41d8cd98f00b204e9800998ecf8427e"
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSReVRNuas0knI+Y96iXrZA7BLUgj06Z
Date: WED, 01 Jul 2015 04:13:55 GMT
Content-Length: 0

Ejemplo de solicitud: Carga de un objeto en un bucket con versiones

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
PUT /object01 HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: WED, 01 Jul 2015 04:17:12 GMT
x-obs-storage-class: WARM
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:uFVJhp/dJqj/CJIVLrSZ0gpw3ng=
Content-Length: 10240
Expect: 100-continue

[1024 Byte data content]

Ejemplo de respuesta: Carga de un objeto en un bucket con versiones

1
2
3
4
5
6
7
8
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: DCD2FC9CAB78000001439A51DB2B2577
ETag: "d41d8cd98f00b204e9800998ecf8427e"
X-OBS-ID-2: GcVgfeOJHx8JZHTHrRqkPsbKdB583fYbr3RBbHT6mMrBstReVILBZbMAdLiBYy1l
Date: WED, 01 Jul 2015 04:17:12 GMT
x-obs-version-id: AAABQ4q2M9_c0vycq3gAAAAAVURTRkha
Content-Length: 0

Ejemplo de solicitud: Carga de un objeto (con su MD5 especificado)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
PUT /object01 HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: WED, 01 Jul 2015 04:17:50 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:uFVJhp/dJqj/CJIVLrSZ0gpw3ng=
Content-Length: 10
Content-MD5: 6Afx/PgtEy+bsBjKZzihnw==
Expect: 100-continue

1234567890

Ejemplo de respuesta: Carga de un objeto (con su MD5 especificado)

1
2
3
4
5
6
7
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BB7800000164B165971F91D82217D105
X-OBS-ID-2: 32AAAUJAIAABAAAQAAEAABAAAQAAEAABCSEKhBpS4BB3dSMNqMtuNxQDD9XvOw5h
ETag: "1072e1b96b47d7ec859710068aa70d57"
Date: WED, 01 Jul 2015 04:17:50 GMT
Content-Length: 0

Ejemplo de solicitud: Carga de un objeto (con Alojamiento Web configurado)

Si se ha configurado el alojamiento de sitios web estáticos para un bucket, puede configurar los parámetros de la siguiente manera cuando cargue un objeto. A continuación, se redirigirá a los usuarios cuando descarguen el objeto.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
PUT /object01 HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: WED, 01 Jul 2015 04:17:12 GMT
x-obs-website-redirect-location: http://www.example.com/
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:uFVJhp/dJqj/CJIVLrSZ0gpw3ng=
Content-Length: 10240
Expect: 100-continue

[1024 Byte data content]

Ejemplo de respuesta: Carga de un objeto (con Alojamiento Web configurado)

1
2
3
4
5
6
7
8
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: DCD2FC9CAB78000001439A51DB2B2577
x-obs-id-2: 32AAAUJAIAABAAAQAAEAABAAAQAAEAABCTmxB5ufMj/7/GzP8TFwTbp33u0xhn2Z
ETag: "1072e1b96b47d7ec859710068aa70d57"
Date: WED, 01 Jul 2015 04:17:12 GMT
x-obs-version-id: AAABQ4q2M9_c0vycq3gAAAAAVURTRkha
Content-Length: 0

Ejemplo de solicitud: Carga de un objeto mediante una URL firmada

PUT /object02?AccessKeyId=H4IPJX0TQTHTHEBQQCEC&Expires=1532688887&Signature=EQmDuOhaLUrzrzRNZxwS72CXeXM%3D HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Content-Length: 1024

[1024 Byte data content]

Ejemplo de respuesta: Carga de un objeto mediante una URL firmada

1
2
3
4
5
6
7
8
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: DCD2FC9CAB78000001439A51DB2B2577
x-obs-id-2: 32AAAUJAIAABAAAQAAEAABAAAQAAEAABCTmxB5ufMj/7/GzP8TFwTbp33u0xhn2Z
ETag: "1072e1b96b47d7ec859710068aa70d57"
Date: Fri, 27 Jul 2018 10:52:31 GMT
x-obs-version-id: AAABQ4q2M9_c0vycq3gAAAAAVURTRkha
Content-Length: 0

Ejemplo de solicitud: Carga de un objeto (con una clase de almacenamiento especificada)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
PUT /object01 HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: WED, 01 Jul 2015 04:15:07 GMT
x-obs-storage-class: WARM
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:uFVJhp/dJqj/CJIVLrSZ0gpw3ng=
Content-Length: 10240
Expect: 100-continue

[1024 Byte data content]

Ejemplo de respuesta: Carga de un objeto (con una clase de almacenamiento especificada)

1
2
3
4
5
6
7
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BB7800000164846A2112F98BF970AA7E
ETag: "d41d8cd98f00b204e9800998ecf8427e"
x-obs-id-2: a39E0UgAIAABAAAQAAEAABAAAQAAEAABCTPOUJu5XlNyU32fvKjM/92MQZK2gtoB
Date: WED, 01 Jul 2015 04:15:07 GMT
Content-Length: 0

Ejemplo de solicitud: Carga de un objeto (con una política de retención de WORM configurada)

PUT /object01 HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: WED, 01 Jul 2015 04:11:15 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:gYqplLq30dEX7GMi2qFWyjdFsyw=
Content-Length: 10240
x-obs-object-lock-mode:COMPLIANCE
x-obs-object-lock-retain-until-date:2022-09-24T16:10:25Z
Expect: 100-continue

[1024 Byte data content]

Ejemplo de respuesta: Carga de un objeto (con una política de retención de WORM configurada)

1
2
3
4
5
6
7
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF2600000164364C10805D385E1E3C67
ETag: "d41d8cd98f00b204e9800998ecf8427e"
x-obs-id-2: 32AAAWJAMAABAAAQAAEAABAAAQAAEAABCTzu4Jp2lquWuXsjnLyPPiT3cfGhqPoY
Date: WED, 01 Jul 2015 04:11:15 GMT
Content-Length: 0