Los objetos Archive deben restaurarse antes de poder leerlos, a menos que se haya habilitado el acceso en tiempo real. El acceso en tiempo real no es compatible con los objetos Cold Archive ni Deep Cold Archive, por lo que estos también requieren restauración previa a su lectura. La restauración de un objeto Archive suele tardar varios minutos; la de un objeto Cold Archive, varias horas; y la de un objeto Deep Cold Archive, entre 12 y 48 horas. El tiempo real de restauración puede variar. En este tema se describe cómo usar el comando restore para restaurar objetos.
Notas
Para restaurar un solo objeto, necesita el permiso
oss:RestoreObject. Para restaurar varios objetos dentro de una carpeta, requiere los permisososs:RestoreObjectyoss:ListObjects. Para obtener más información, consulte Grant custom permissions to a RAM user.A partir de ossutil 1.6.16, puede usar
ossutilcomo nombre del binario en la línea de comandos sin importar su sistema operativo. Si utiliza una versión de ossutil anterior a la 1.6.16, debe cambiar el nombre del binario según su sistema operativo. Para obtener más información, consulte ossutil command reference.Para conocer más detalles sobre el estado de restauración y la facturación de los objetos Archive, Cold Archive o Deep Cold Archive, consulte Restore objects.
Este comando solo está disponible en ossutil 1.7.11 y versiones posteriores.
Sintaxis del comando
ossutil restore oss://bucketname[/prefix][local_xml_file]
[--encoding-type <value>]
[--payer <value>]
[--version-id <value>]
[-r, --recursive]
[-f, --force]
[--object-file, <value>]
[--snapshot-path, <value>]
[--disable-ignore-error]
[--retry-times <value>]
[-j,--job <value>]
A continuación se describen los parámetros y las opciones del comando.
|
Parámetro |
Descripción |
|
bucketname |
El nombre del bucket. |
|
prefix |
Los recursos de un bucket pueden incluir carpetas y archivos. |
|
local_xml_file |
El archivo XML local que almacena los parámetros de restauración para los objetos Cold Archive. |
|
--encoding-type |
El método de codificación del prefijo. Establezca el valor en url. Si no especifica esta opción, el prefijo no se codifica. |
|
--payer |
La parte responsable de pagar la solicitud. Para que quien realiza la solicitud asuma costos como el tráfico y las peticiones, establezca esta opción en requester. |
|
--version-id |
El identificador de versión del objeto. Esta opción solo aplica a objetos en buckets con control de versiones habilitado o suspendido. |
|
-r, --recursive |
Restaura todos los objetos que coinciden con el prefijo. Si no especifica esta opción, ossutil restaura únicamente el objeto indicado. |
|
-f, --force |
Fuerza la operación sin mostrar un mensaje de confirmación. |
|
--object-file |
Restaura por lotes varios objetos Archive, Cold Archive o Deep Cold Archive. Para utilizar esta opción:
Nota
Si ocurre un error al restaurar un objeto, ossutil registra la información del error en el archivo de reporte y continúa con la restauración de los demás. Los objetos restaurados correctamente no se registran en dicho archivo. |
|
--snapshot-path |
Genera instantáneas solo para los objetos de la operación actual. Si ya existen instantáneas para esos objetos, se omite esta acción. Nota
Esta opción debe usarse junto con -r, --recursive o --object-file. |
|
--disable-ignore-error |
No ignora los errores durante las operaciones por lotes. |
|
--retry-times |
El número de reintentos si ocurre un error. Valor predeterminado: 10. Rango de valores: de 1 a 500. |
|
-j, --job |
El número de tareas simultáneas para operaciones sobre varios objetos. Valor predeterminado: 3. Rango de valores: de 1 a 10000. |
Restauración de objetos Archive
La restauración de un objeto Archive tarda aproximadamente un minuto. No es posible leer un objeto mientras se restaura.
De forma predeterminada, un objeto restaurado permanece en ese estado durante un día. Si ejecuta el comando restore sobre un objeto que ya está restaurado, su estado se extiende un día más. Este periodo puede prolongarse hasta un máximo de siete días. Una vez transcurrido ese tiempo, el objeto vuelve al estado congelado.
Puede usar el comando cp para cambiar la clase de almacenamiento de un objeto. Para obtener más información, consulte Copy an object and change its storage class.
Al restaurar un objeto Archive, también puede crear un archivo XML local llamado config.xml para configurar la cantidad de días que durará el estado restaurado.
<RestoreRequest>
<Days>3</Days>
</RestoreRequest>
-
Restaurar un solo objeto Archive
-
En el siguiente ejemplo se muestra cómo restaurar un objeto Archive llamado exampleobject.txt en el bucket examplebucket y mantenerlo en estado restaurado durante tres días.
ossutil restore oss://examplebucket/exampleobject.txt config.xml -
El siguiente ejemplo muestra cómo restaurar una versión específica del objeto Archive llamado exampleobject.txt en el bucket examplebucket.
ossutil restore oss://examplebucket/exampleobject.txt --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3**** config.xmlPara saber cómo obtener todas las versiones de un objeto, consulte ls (List account-level resources).
-
-
Restaurar varios objetos Archive
-
Ejemplo 1: Objetos en distintas carpetas
Siga estos pasos para restaurar varios objetos Archive ubicados en diferentes carpetas del bucket examplebucket (por ejemplo, exampleobject1.jpg en la raíz, exampleobject2.png en dir1/ y exampleobject3.txt en dir2/).
-
Escriba los nombres de los objetos Archive que desea restaurar en el archivo local localfile.txt.
exampleobject1.jpg dir1/exampleobject2.png dir2/exampleobject3.txt -
En el archivo config.xml, configure el estado restaurado para que dure tres días.
<RestoreRequest> <Days>3</Days> </RestoreRequest> -
Restaure varios objetos Archive.
Utilice la opción --object-file para restaurar varios objetos Archive del bucket examplebucket.
ossutil restore oss://examplebucket --object-file localfile.txt --snapshot-path dir/ config.xml
-
-
Ejemplo 2: Objetos en la misma carpeta
-
Método 1
Consulte Example 1 para restaurar varios objetos Archive que se encuentran en la misma carpeta de un bucket.
-
Método 2
Use la opción -r para restaurar todos los objetos Archive de la carpeta dest especificada en el bucket examplebucket.
ossutil restore oss://examplebucket/dest -r config.xml
-
-
-
Salida
Si la operación finaliza correctamente, la salida incluye la hora en que se inició la solicitud de restauración. Por ejemplo:
0.106852(s) elapsed
Restauración de objetos Cold Archive
El tiempo real de restauración varía según el tamaño del objeto.
Antes de restaurar uno o más objetos Cold Archive, cree un archivo XML local llamado config.xml y configure en él los siguientes parámetros de restauración.
<RestoreRequest>
<Days>3</Days>
<JobParameters>
<Tier>Bulk</Tier>
</JobParameters>
</RestoreRequest>
A continuación se describen los parámetros.
|
Parámetro |
Descripción |
|
Days |
La cantidad de días que el objeto Cold Archive restaurado permanece en ese estado. Unidad: días. Rango de valores: de 1 a 365 |
|
Tier |
La prioridad de restauración del objeto Cold Archive. Valores válidos:
|
-
Restaurar un solo objeto Cold Archive
El siguiente comando restaura el objeto exampleobject.jpg del bucket examplebucket en menos de 1 hora y lo mantiene en estado restaurado durante tres días, de acuerdo con la configuración del archivo config.xml.
ossutil restore oss://examplebucket/exampleobject.jpg config.xml -
Restaurar varios objetos Cold Archive
-
Ejemplo 1: Objetos en distintas carpetas
Siga estos pasos para restaurar varios objetos Cold Archive ubicados en diferentes carpetas del bucket examplebucket (por ejemplo, exampleobject1.jpg en la raíz, exampleobject2.png en dir1/ y exampleobject3.txt en dir2/).
-
Escriba los nombres de los objetos Cold Archive por restaurar en el archivo local localfile.txt.
exampleobject1.jpg dir1/exampleobject2.png dir2/exampleobject3.txt -
Restaure varios objetos.
Utilice la opción --object-file para restaurar varios objetos Cold Archive del bucket examplebucket. Según la configuración del archivo config.xml, los objetos se restauran en menos de 1 hora y permanecen en ese estado durante tres días.
ossutil restore oss://examplebucket --object-file localfile.txt --snapshot-path dir/ config.xml
-
-
Ejemplo 2: Objetos en la misma carpeta
-
Método 1
Consulte Example 1 para restaurar varios objetos Cold Archive que se encuentran en la misma carpeta de un bucket.
-
Método 2
Use la opción -r para restaurar todos los objetos Cold Archive de la carpeta dest del bucket examplebucket.
ossutil restore oss://examplebucket/dest -r config.xml
-
-
-
Salida
Si la operación finaliza correctamente, la salida incluye el tiempo empleado para iniciar la solicitud de restauración. Por ejemplo:
0.106852(s) elapsed
Restauración de objetos Deep Cold Archive
El tiempo real de restauración depende del tamaño del objeto.
Antes de restaurar uno o más objetos Deep Cold Archive, cree un archivo XML local llamado config.xml y configure en él los siguientes parámetros de restauración.
<RestoreRequest>
<Days>3</Days>
<JobParameters>
<Tier>Standard</Tier>
</JobParameters>
</RestoreRequest>
Los parámetros de configuración son los siguientes:
|
Parámetro |
Descripción |
|
Days |
La cantidad de días que el objeto Deep Cold Archive restaurado permanece en ese estado. Unidad: días. Rango de valores: de 1 a 365 |
|
Tier |
La prioridad de restauración del objeto Deep Cold Archive. Valores válidos:
|
-
Restaurar un solo objeto Deep Cold Archive
Con base en la configuración del archivo config.xml, el siguiente comando restaura el objeto exampleobject.jpg del bucket examplebucket en menos de 48 horas y lo mantiene en estado restaurado durante tres días.
ossutil restore oss://examplebucket/exampleobject.jpg config.xml -
Restaurar varios objetos Deep Cold Archive
-
Ejemplo 1: Objetos en distintas carpetas
Siga estos pasos para restaurar varios objetos Deep Cold Archive ubicados en diferentes carpetas del bucket examplebucket (por ejemplo, exampleobject1.jpg en la raíz, exampleobject2.png en dir1/ y exampleobject3.txt en dir2/).
-
Agregue los nombres de los objetos Deep Cold Archive por restaurar al archivo local localfile.txt.
exampleobject1.jpg dir1/exampleobject2.png dir2/exampleobject3.txt -
Restaure varios objetos.
Utilice la opción --object-file para restaurar varios objetos Deep Cold Archive del bucket examplebucket en menos de 48 horas y mantenerlos en estado restaurado durante tres días. Esta operación se basa en la configuración del archivo config.xml.
ossutil restore oss://examplebucket --object-file localfile.txt --snapshot-path dir/ config.xml
-
-
Ejemplo 2: Objetos en la misma carpeta
-
Método 1
Consulte Example 1 para restaurar varios objetos Deep Cold Archive que se encuentran en la misma carpeta de un bucket.
-
Método 2
Use la opción -r para restaurar todos los objetos Deep Cold Archive de la carpeta dest del bucket examplebucket.
ossutil restore oss://examplebucket/dest -r config.xml
-
-
-
Salida
Si la operación finaliza correctamente, la salida muestra el tiempo empleado para iniciar la solicitud de restauración. Por ejemplo:
0.106852(s) elapsed
Opciones comunes
Para acceder a un bucket en otra región, use -e y especifique el endpoint. Si necesita acceder a un bucket propiedad de otra cuenta de Alibaba Cloud, utilice -i para el AccessKey ID y -k para el AccessKey secret.
Por ejemplo, para restaurar el objeto exampletest.png del bucket testbucket, ubicado en la región China (Shanghai) y perteneciente a otra cuenta de Alibaba Cloud, ejecute el siguiente comando:
ossutil restore oss://testbucket/exampletest.png -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret
Referencias
Para comprobar si un objeto ya se restauró, consulte stat (View bucket and object information).
Para mantener un objeto de OSS restaurado de forma permanente, consulte How do I keep an OSS object permanently restored?.