Si el acceso en tiempo real a los objetos Archive está deshabilitado, es necesario restaurarlos antes de leerlos. Los objetos Cold Archive y Deep Cold Archive no admiten acceso en tiempo real, por lo que también deben restaurarse para poder leerse. Las operaciones de lectura incluyen GetObject (descarga), ProcessImage (procesamiento de imágenes), CopyObject (copia), UploadPartCopy (copia multiparte), SelectObject (consulta) y PostProcessTask (procesamiento de datos mediante solicitudes POST). En este tema se describe cómo restaurar objetos Archive, Cold Archive y Deep Cold Archive antes de ejecutar una operación de lectura.
Requisitos previos
El objeto utiliza almacenamiento Archive, Cold Archive o Deep Cold Archive. Para obtener más información, consulte Storage classes.
Cuenta con el permiso
oss:RestoreObject. Attach a custom policy to a RAM user.
Notas
La operación RestoreObject aplica únicamente a objetos Archive, Cold Archive y Deep Cold Archive. No es compatible con objetos Standard ni Infrequent Access (IA).
No necesita restaurar un objeto Archive, Cold Archive o Deep Cold Archive antes de enviar una solicitud que no lea sus datos, como
DeleteObject,DeleteMultipleObjects,GetObjectMetaoHeadObject. Si restaura un objeto para una operación que no lo requiere, se generarán cargos adicionales innecesarios.La primera vez que llama a la operación RestoreObject para un objeto, se devuelve una respuesta 202 Accepted. Si el objeto ya se encuentra en estado restaurado, las llamadas posteriores devuelven una respuesta 200 OK.
Si un objeto aún se está restaurando, solo puede enviar otra solicitud de restauración para aumentar la prioridad del proceso. Cualquier otra solicitud devuelve un error 409.
En un bucket con control de versiones habilitado, las distintas versiones de un objeto pueden tener diferentes clases de almacenamiento. De forma predeterminada, la llamada a RestoreObject restaura la versión actual del objeto. También puede restaurar una versión específica si indica su versionId.
Proceso de restauración
El proceso de restauración es el mismo para objetos de cualquier clase de almacenamiento. A continuación se detallan los pasos.
Inicialmente, el objeto se encuentra en estado congelado.
Después de enviar una solicitud de restauración, el objeto pasa al estado de restauración.
Una vez que finaliza la tarea en el servidor, el objeto entra en estado restaurado. A partir de ese momento, ya puede leerlo.
Si envía otra solicitud de restauración mientras el objeto está en estado restaurado, se prolonga la duración de dicho estado. El tiempo total extendido no puede superar la duración máxima permitida para la clase de almacenamiento.
Cuando termina el estado restaurado, el objeto vuelve al estado congelado y su clase de almacenamiento original permanece sin cambios.
Tiempo de restauración
En la siguiente tabla se muestra el tiempo que toma restaurar objetos según su clase de almacenamiento. Los tiempos reales pueden variar.
Clase de almacenamiento del objeto | Descripción |
Archive | Por lo general, 1 minuto. |
Cold Archive |
|
Deep Cold Archive |
|
Duración del estado restaurado
El tiempo que un objeto puede permanecer en estado restaurado varía según su clase de almacenamiento.
|
Clase de almacenamiento del objeto |
Descripción |
|
Archive |
De 1 a 7 días. |
|
Cold Archive |
De 1 a 365 días. |
|
Deep Cold Archive |
De 1 a 365 días. |
Facturación
Se generan cargos por recuperación de datos cuando restaura objetos Archive, Cold Archive y Deep Cold Archive. Para obtener más información, consulte Data processing fees.
Al restaurar objetos Archive se aplican cargos por solicitudes Put. Para obtener más información, consulte Request fees.
La restauración de objetos Cold Archive y Deep Cold Archive genera cargos por solicitudes de recuperación de datos. Para obtener más información, consulte Request fees.
Los objetos Archive, Cold Archive y Deep Cold Archive generan cargos de almacenamiento según su clase correspondiente, tanto durante la restauración como después de esta. Para obtener más información, consulte Storage fees.
Cuando restaura un objeto Cold Archive o Deep Cold Archive, se crea una réplica con clase de almacenamiento Standard para permitir el acceso. Mientras el objeto permanezca en estado restaurado, se cobra el almacenamiento temporal de esta réplica a la tarifa de la clase Standard. Para obtener más información, consulte Temporary storage fees.
Los objetos Archive pueden mantenerse en estado restaurado hasta por 7 días. Los objetos Cold Archive y Deep Cold Archive admiten hasta 365 días. Durante este periodo no se generan cargos adicionales por recuperación de datos.
Al terminar el estado restaurado, el objeto regresa al estado congelado. Si lo restaura de nuevo, se generarán cargos por recuperación de datos.
Sintaxis de la solicitud
POST /ObjectName?restore HTTP/1.1
Host: archive-bucket.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
Encabezados de la solicitud
RestoreObject utiliza únicamente encabezados de solicitud comunes. Para obtener más información, consulte Common request headers.
Parámetros de la solicitud
|
Parámetro |
Tipo |
Obligatorio |
Ejemplo |
Descripción |
|
RestoreRequest |
Container |
Sí |
N/A |
Contenedor de la solicitud RestoreObject. Nodos secundarios: Days y JobParameters |
|
Days |
Integer |
Sí |
2 |
Duración durante la cual el objeto permanece en estado restaurado.
Nodo principal: RestoreRequest |
|
JobParameters |
Container |
No |
N/A |
Contenedor de la prioridad de restauración. Válido únicamente para objetos Cold Archive o Deep Cold Archive. De forma predeterminada, se establece en Standard si no se especifica. Nodo principal: RestoreRequest Nodo secundario: Tier |
|
Tier |
String |
No |
Standard |
Prioridad de restauración para objetos Cold Archive o Deep Cold Archive. Valores válidos:
Nodo principal: JobParameters |
Encabezados de la respuesta
|
Encabezado |
Tipo |
Ejemplo |
Descripción |
|
x-oss-object-restore-priority |
String |
Standard |
Prioridad de restauración. Se devuelve únicamente para objetos Cold Archive o Deep Cold Archive restaurados. |
|
x-oss-version-id |
String |
CAEQNRiBgMClj7qD0BYiIDQ5Y2QyMjc3NGZkODRlMTU5M2VkY2U3MWRiNGRh**** |
Identificador de versión del objeto. Se devuelve solo cuando se especifica un identificador de versión en la solicitud. |
Las respuestas de RestoreObject incluyen encabezados de respuesta comunes. Para obtener más información, consulte Common response headers.
Ejemplos
-
Restaurar un objeto Archive congelado (primera solicitud)
Solicitud de ejemplo
POST /oss.jpg?restore HTTP/1.1 Host: oss-archive-example.oss-cn-hangzhou.aliyuncs.com Date: Sat, 15 Apr 2017 07:45:28 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eRespuesta exitosa de ejemplo
HTTP/1.1 202 Accepted Date: Sat, 15 Apr 2017 07:45:28 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSS x-oss-request-id: 5374A2880232A65C23002D74 -
Restaurar un objeto Archive que ya se está restaurando
Solicitud de ejemplo
POST /oss.jpg?restore HTTP/1.1 Host: oss-archive-example.oss-cn-hangzhou.aliyuncs.com Date: Sat, 15 Apr 2017 07:45:29 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eRespuesta exitosa de ejemplo
HTTP/1.1 409 Conflict Date: Sat, 15 Apr 2017 07:45:29 GMT Content-Length: 556 Connection: keep-alive Server: AliyunOSS x-oss-request-id: 5374A2880232A65C23002D74 <?xml version="1.0" encoding="UTF-8"?> <Error> <Code>RestoreAlreadyInProgress</Code> <Message>The restore operation is in progress.</Message> <RequestId>58EAF141461FB42C2B000008</RequestId> <HostId>10.101.XX.XX</HostId> </Error> -
Restaurar un objeto Archive que ya se encuentra en estado restaurado
Solicitud de ejemplo
POST /oss.jpg?restore HTTP/1.1 Host: oss-archive-example.oss-cn-hangzhou.aliyuncs.com Date: Sat, 15 Apr 2017 07:45:29 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e <RestoreRequest> <Days>2</Days> </RestoreRequest>Respuesta exitosa de ejemplo
HTTP/1.1 200 Ok Date: Sat, 15 Apr 2017 07:45:30 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSS x-oss-request-id: 5374A2880232A65C23002D74 -
Restaurar un objeto Cold Archive o Deep Cold Archive que ya se encuentra en estado restaurado
Solicitud de ejemplo
POST /coldarchiveobject?restore HTTP/1.1 Host: cold-archive-bucket.oss-cn-hangzhou.aliyuncs.com User-Agent: aliyun-sdk-go/v2.1.0 (Darwin/17.5.0/x86_64;go1.11.8)/ossutil-v1.6.12 Content-Length: 99 Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e Content-Type: text/plain; charset=utf-8 Date: Tue, 21 Apr 2020 11:09:19 GMT Accept-Encoding: gzip <RestoreRequest> <Days>2</Days> <JobParameters> <Tier>Standard</Tier> </JobParameters> </RestoreRequest>Respuesta exitosa de ejemplo
HTTP/1.1 200 OK Server: AliyunOSS Date: Tue, 21 Apr 2020 11:09:19 GMT Content-Length: 0 Connection: keep-alive x-oss-request-id: 5E9ED45F093E2F3930318EA0 x-oss-object-restore-priority: Standard x-oss-server-time: 10 -
Restaurar una versión específica de un objeto
Solicitud de ejemplo
POST /oss.jpg?restore&versionId=CAEQNRiBgMClj7qD0BYiIDQ5Y2QyMjc3NGZkODRlMTU5M2VkY2U3MWRiNGRh**** HTTP/1.1 Host: oss-archive-example.oss-cn-hangzhou.aliyuncs.com Date: Tue, 09 Apr 2019 06:50:48 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eRespuesta exitosa de ejemplo
HTTP/1.1 202 Accepted Date: Tue, 09 Apr 2019 06:50:48 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSS x-oss-version-id: CAEQNRiBgMClj7qD0BYiIDQ5Y2QyMjc3NGZkODRlMTU5M2VkY2U3MWRiNGRh**** x-oss-request-id: 5CAC40C8B7AEADE017000653
SDK de OSS
Llame a RestoreObject mediante los SDK de OSS para los siguientes lenguajes:
ossutil
Para obtener información sobre el comando de ossutil correspondiente a la operación RestoreObject, consulte restore-object.
Códigos de error
|
Código de error |
Código de estado HTTP |
Descripción |
|
OperationNotSupported |
400 |
La clase de almacenamiento del objeto no es Archive, Cold Archive ni Deep Cold Archive. |
|
NoSuchKey |
404 |
El objeto especificado no existe. |
|
RestoreAlreadyInProgress |
409 |
Ya hay una restauración en curso. No llame a RestoreObject de forma repetida. |
Referencias
Para obtener más información sobre el tiempo que toma la restauración y los días que un objeto permanece en estado restaurado, consulte Restore objects.
Para conocer cómo usar ossutil y restaurar un objeto, consulte Restore files.
Si desea conservar un objeto de forma permanente en estado restaurado, consulte How to keep an OSS object permanently restored?