访问归档或冷归档类型文件(Object)之前,需要通过restore命令解冻文件。

注意
  • 本文各命令行示例均基于Linux 64位系统,其他系统请将命令开头的./ossutil64替换成对应的Binary名称。详情请参见命令行工具ossutil快速入门
  • 关于归档或冷归档文件的解冻状态以及费用说明,请参见解冻文件

命令格式

./ossutil64 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。使用该选项的步骤如下:
  1. 您需要指定.txt或者XML格式的本地文件,并在本地文件中换行填写所有待解冻的Object。
  2. ossutil读取本地文件中的所有Object,然后对这些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又回到初始时的冷冻状态。

  • 解冻单个归档类型Object
    • 以下示例用于解冻目标存储空间examplebucket下名为exampleobject.txt的归档类型Object。
      ./ossutil64 restore oss://examplebucket/exampleobject.txt
    • 以下示例用于解冻目标存储空间examplebucket下归档类型文件exampleobject.txt的指定版本。
      ./ossutil64 restore oss://examplebucket/exampleobject.txt --version-id  CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****

      关于获取Object所有版本的具体操作,请参见ls(列举账号级别下的资源)

  • 解冻多个归档类型Object
    • 示例一:不同目录下
      当您需要解冻examplebucket中的多个归档类型Object,且这些Object归属于Bucket的不同目录下,例如exampleobject1.jpg位于examplebucket根目录下,exampleobject2.png位于examplebucket的dir1/目录下,exampleobject3.txt位于examplebucket的dir2/目录下。您需要按照以下步骤完成解冻操作。
      1. 将待解冻的多个归档类型Object写入本地文件localfile.txt。
        exampleobject1.jpg
        dir1/exampleobject2.png
        dir2/exampleobject3.txt
      2. 解冻多个归档类型Object。

        结合--object-file选项解冻目标存储空间examplebucket下的多个冷归档类型Object。

        ./ossutil64 restore oss://examplebucket --object-file localfile.txt --snapshot-path dir/
    • 示例二:相同目录下
      • 方法一

        您可以参考示例一解冻某个Bucket中相同目录下的多个归档存储类型Object。

      • 方法二
        结合-r选项,解冻examplebucket中指定目录dest下的所有归档类型Object。
        ./ossutil64 restore oss://examplebucket/dest -r
  • 返回结果

    以上操作成功后,返回结果中将包含发起解冻请求所用时长,示例如下:

    0.106852(s) elapsed

解冻冷归档类型Object

注意 根据解冻Object的大小,实际解冻时间可能会有变化,请以实际解冻时间为准。

解决单个或多个冷归档类型Object前,您需要在本地创建XML格式文件config.xml,并在文件中配置如下解冻参数。

<RestoreRequest>
    <Days>3</Days>
    <JobParameters>
        <Tier>Expedited</Tier>
    </JobParameters>
</RestoreRequest>

配置参数说明如下:

参数 说明
Days 冷归档文件保持解冻状态的时间,单位为天。

取值范围:1~365

Tier 冷归档文件解冻优先级。

取值如下:

  • Expedited(高优先级):1小时内完成解冻。
  • Standard(标准):2~5小时完成解冻。
  • Bulk(批量):5~12小时完成解冻。
  • 解冻单个冷归档类型Object

    按照config.xml文件配置,指定在1小时内解冻目标存储空间examplebucket下的exampleobject.jpg,并且解冻状态保持3天。

    ./ossutil64 restore oss://examplebucket/exampleobject.jpg config.xml
  • 解冻多个冷归档类型Object
    • 示例一:不同目录下
      当您需要解冻examplebucket中的多个冷归档类型Object,且这些Object归属于Bucket的不同目录下,例如exampleobject1.jpg位于examplebucket根目录下,exampleobject2.png位于examplebucket的dir1/目录下,exampleobject3.txt位于examplebucket的dir2/目录下。您需要按照以下步骤完成解冻操作。
      1. 将待解冻的多个冷归档类型Object写入本地文件localfile.txt。
        exampleobject1.jpg
        dir1/exampleobject2.png
        dir2/exampleobject3.txt
      2. 解冻多个Object。

        结合--object-file选项,按照config.xml文件配置,指定在1小时内解冻目标存储空间examplebucket下的多个冷归档类型Object,并且解冻状态保持3天。

        ./ossutil64 restore oss://examplebucket --object-file localfile.txt --snapshot-path dir/ config.xml
    • 示例二:相同目录下
      • 方法一

        您可以参考示例一解冻某个Bucket中相同目录下的多个冷归档存储类型Object。

      • 方法二
        结合-r选项,解冻examplebucket下指定目录dest下的所有冷归档类型Object。
        ./ossutil64 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文件,命令如下:

./ossutil64 restore oss://testbucket/exampletest.png -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA****  -k 67DLVBkH7EamOjy2W5RVAHUY9H****

关于此命令的其他通用选项的更多信息,请参见通用选项