如果未开启归档直读,归档类型的Object需要解冻后才能读取。冷归档、深度冷归档不支持开启直读,冷归档、深度冷归档类型的Object需要解冻后才能读取。归档类型Object完成解冻通常需要数分钟。冷归档类型Object完成解冻通常需要数小时。深度冷归档类型Object完成解冻通常需要12~48小时。解冻时间请以实际为准。本文为您介绍如何通过restore命令解冻文件。
注意事项
- 要解冻单个文件,您必须具有 - oss:RestoreObject权限;要按目录解冻文件,您必须具有- oss:RestoreObject和- oss:ListObjects权限。具体操作,请参见为RAM用户授权自定义的权限策略。
- 从ossutil 1.6.16版本开始,命令行中Binary名称支持直接使用ossutil,您无需根据系统刷新Binary名称。如果您的ossutil版本低于1.6.16,则需要根据系统刷新Binary名称。更多信息,请参见命令行工具ossutil命令参考。 
- 关于归档存储、冷归档存储或者深度冷归档存储类型文件的解冻状态以及费用说明,请参见解冻文件。 
- 仅1.7.11及以上版本支持解冻文件。 
命令格式
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>]参数及选项说明如下:
| 配置项 | 说明 | 
| bucketname | Bucket名称。 | 
| prefix | Bucket下的资源,例如目录、文件等。 | 
| local_xml_file | 本地XML格式文件,用于保存冷归档类型文件的解冻参数。 | 
| --encoding-type | 对prefix名称进行编码,取值为url。如果不指定该选项,则表示prefix未经过编码。 | 
| --payer | 请求的支付方式。如果希望访问指定路径下的资源产生的流量、请求次数等费用由请求者支付,请将此选项的值设置为requester。 | 
| --version-id | Object的指定版本。仅适用于已开启或暂停版本控制状态Bucket下的Object。 | 
| -r,--recursive | 如果指定该选项时,ossutil将解冻所有与prefix匹配的文件。如果不指定该选项,则ossutil只解冻指定文件。 | 
| -f, --force | 强制操作,不进行询问提示。 | 
| --object-file | 该选项用于批量解冻多个归档存储、冷归档存储或者深度冷归档存储类型的Object。使用该选项的步骤如下: 
 说明  当其中一个Object操作出现错误时,ossutil会将该Object的错误信息记录到report文件,并继续解冻其他Object。成功操作的Object信息不会被记录到report文件中。 | 
| --snapshot-path | 如果指定该选项,则只对本次操作的Object生成快照。如果操作的Object已经存在快照信息,则忽略本次操作。 说明  该选项需结合-r,--recursive或--object-file选项使用。 | 
| --disable-ignore-error | 批量操作时不忽略错误。 | 
| --retry-times | 发生错误后的重试次数。默认值为10,取值范围为1~500。 | 
| -j,--job | 多文件操作时的并发任务数,默认值为3,取值范围为1~10000。 | 
解冻归档类型Object
解冻归档类型Object需要1分钟时间,解冻中的Object不支持读取。
解冻状态默认持续1天。对解冻状态的文件调用restore命令,会将Object的解冻状态延长1天,最多可以延长到7天,之后Object又回到初始时的冷冻状态。
您可以通过cp命令转换Object存储类型。更多信息,请参见修改文件存储类型。
解冻归档类型Object时,也可以在本地创建XML格式文件config.xml,并在文件中配置解冻天数参数。
<RestoreRequest>
    <Days>3</Days>
</RestoreRequest>- 解冻单个归档类型Object - 以下示例用于解冻目标存储空间examplebucket下名为exampleobject.txt的归档类型Object,并且解冻状态保持3天。 - ossutil restore oss://examplebucket/exampleobject.txt config.xml
- 以下示例用于解冻目标存储空间examplebucket下归档类型文件exampleobject.txt的指定版本。 - ossutil restore oss://examplebucket/exampleobject.txt --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3**** config.xml- 关于获取Object所有版本的具体操作,请参见ls(列举账号级别下的资源)。 
 
- 解冻多个归档类型Object - 示例一:不同目录下 - 当您需要解冻examplebucket中的多个归档类型Object,且这些Object归属于Bucket的不同目录下,例如exampleobject1.jpg位于examplebucket根目录下,exampleobject2.png位于examplebucket的dir1/目录下,exampleobject3.txt位于examplebucket的dir2/目录下。您需要按照以下步骤完成解冻操作。 - 将待解冻的多个归档类型Object写入本地文件localfile.txt。 - exampleobject1.jpg dir1/exampleobject2.png dir2/exampleobject3.txt
- 在config.xml文件中配置解冻状态时间为3天。 - <RestoreRequest> <Days>3</Days> </RestoreRequest>
- 解冻多个归档类型Object。 - 结合--object-file选项解冻目标存储空间examplebucket下的多个归档类型Object。 - ossutil restore oss://examplebucket --object-file localfile.txt --snapshot-path dir/ config.xml
 
- 示例二:相同目录下 - 方法一 - 您可以参考示例一解冻某个Bucket中相同目录下的多个归档存储类型Object。 
- 方法二 - 结合-r选项,解冻examplebucket中指定目录dest下的所有归档类型Object。 - ossutil restore oss://examplebucket/dest -r config.xml
 
 
- 返回结果 - 以上操作成功后,返回结果中将包含发起解冻请求所用时长,示例如下: - 0.106852(s) elapsed
解冻冷归档类型Object
根据解冻Object的大小,实际解冻时间可能会有变化,请以实际解冻时间为准。
解冻单个或多个冷归档类型Object前,您需要在本地创建XML格式文件config.xml,并在文件中配置如下解冻参数。
<RestoreRequest>
    <Days>3</Days>
    <JobParameters>
        <Tier>Bulk</Tier>
    </JobParameters>
</RestoreRequest>配置参数说明如下:
| 参数 | 说明 | 
| Days | 冷归档文件保持解冻状态的时间,单位为天。 取值范围:1~365 | 
| Tier | 冷归档文件解冻优先级。 取值如下: 
 | 
- 解冻单个冷归档类型Object - 按照config.xml文件配置,指定在1小时内解冻目标存储空间examplebucket下的exampleobject.jpg,并且解冻状态保持3天。 - ossutil restore oss://examplebucket/exampleobject.jpg config.xml
- 解冻多个冷归档类型Object - 示例一:不同目录下 - 当您需要解冻examplebucket中的多个冷归档类型Object,且这些Object归属于Bucket的不同目录下,例如exampleobject1.jpg位于examplebucket根目录下,exampleobject2.png位于examplebucket的dir1/目录下,exampleobject3.txt位于examplebucket的dir2/目录下。您需要按照以下步骤完成解冻操作。 - 将待解冻的多个冷归档类型Object写入本地文件localfile.txt。 - exampleobject1.jpg dir1/exampleobject2.png dir2/exampleobject3.txt
- 解冻多个Object。 - 结合--object-file选项,按照config.xml文件配置,指定在1小时内解冻目标存储空间examplebucket下的多个冷归档类型Object,并且解冻状态保持3天。 - ossutil restore oss://examplebucket --object-file localfile.txt --snapshot-path dir/ config.xml
 
- 示例二:相同目录下 - 方法一 - 您可以参考示例一解冻某个Bucket中相同目录下的多个冷归档存储类型Object。 
- 方法二 - 结合-r选项,解冻examplebucket下指定目录dest下的所有冷归档类型Object。 - ossutil restore oss://examplebucket/dest -r config.xml
 
 
- 返回结果 - 以上操作成功后,返回结果中将包含发起解冻请求所用时长,示例如下: - 0.106852(s) elapsed
解冻深度冷归档类型Object
根据解冻Object的大小,实际解冻时间可能会有变化,请以实际解冻时间为准。
解冻单个或多个深度冷归档类型Object前,您需要在本地创建XML格式文件config.xml,并在文件中配置如下解冻参数。
<RestoreRequest>
    <Days>3</Days>
    <JobParameters>
        <Tier>Standard</Tier>
    </JobParameters>
</RestoreRequest>配置参数说明如下:
| 参数 | 说明 | 
| Days | 深度冷归档文件保持解冻状态的时间,单位为天。 取值范围:1~365 | 
| Tier | 深度冷归档文件解冻优先级。 取值如下: 
 | 
- 解冻单个深度冷归档类型Object - 按照config.xml文件配置,指定在48小时内解冻目标存储空间examplebucket下的exampleobject.jpg,并且解冻状态保持3天。 - ossutil restore oss://examplebucket/exampleobject.jpg config.xml
- 解冻多个深度冷归档类型Object - 示例一:不同目录下 - 当您需要解冻examplebucket中的多个深度冷归档类型Object,且这些Object归属于Bucket的不同目录下,例如exampleobject1.jpg位于examplebucket根目录下,exampleobject2.png位于examplebucket的dir1/目录下,exampleobject3.txt位于examplebucket的dir2/目录下。您需要按照以下步骤完成解冻操作。 - 将待解冻的多个深度冷归档类型Object写入本地文件localfile.txt。 - exampleobject1.jpg dir1/exampleobject2.png dir2/exampleobject3.txt
- 解冻多个Object。 - 结合--object-file选项,按照config.xml文件配置,指定在48小时内解冻目标存储空间examplebucket下的多个深度冷归档类型Object,并且解冻状态保持3天。 - ossutil restore oss://examplebucket --object-file localfile.txt --snapshot-path dir/ config.xml
 
- 示例二:相同目录下 - 方法一 - 您可以参考示例一解冻某个Bucket中相同目录下的多个深度冷归档存储类型Object。 
- 方法二 - 结合-r选项,解冻examplebucket下指定目录dest下的所有深度冷归档类型Object。 - ossutil restore oss://examplebucket/dest -r config.xml
 
 
- 返回结果 - 以上操作成功后,返回结果中将包含发起解冻请求所用时长,示例如下: - 0.106852(s) elapsed
通用选项
当您需要通过命令行工具ossutil切换至另一个地域的Bucket时,可以通过-e选项指定该Bucket所属的Endpoint。当您需要通过命令行工具ossutil切换至另一个阿里云账号下的Bucket时,可以通过-i选项指定该账号的AccessKey ID,并通过-k选项指定该账号的AccessKey Secret。
例如您需要解冻另一个阿里云账号下,华东2(上海)地域下目标存储空间testbucket下的exampletest.png文件,命令如下:
ossutil restore oss://testbucket/exampletest.png -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID  -k yourAccessKeySecret关于此命令的其他通用选项的更多信息,请参见通用选项。
相关文档
- 如果需要查看文件解冻是否已完成,请参见stat(查看Bucket和Object信息)。 
- 如果需要使OSS文件永久处于解冻状态,请参见如何使OSS文件永久处于解冻状态?。