本文介绍不同数据源归档数据如何解冻,并迁移到OSS。

阿里云OSS

OSS提供了ossutil工具来解冻归档文件,支持解冻指定前缀的归档类型Object。此处以Linux下使用ossutil工具解冻归档文件为例说明,具体步骤如下:

  1. 按照您使用的操作系统下载和安装ossutil工具,并配置可执行权限,具体操作请参见安装ossutil
  2. 在Linux下执行./ossutil restore oss://bucket/path -r ./config.xml命令解冻指定前缀的归档类型Object。
    • -r用于指定前缀的归档类型Object解冻,对Bucket下所有符合条件的Object进行操作。
    • config.xml是本地XML格式文件,内容包含冷归档的解冻参数。示例如下:
      <RestoreRequest>
          <Days>3</Days>
          <JobParameters>
              <Tier>Bulk</Tier>
          </JobParameters>
      </RestoreRequest>

      参数说明请参见下表。

      参数描述
      Days 设置冷归档文件保持解冻状态的时间,单位为天,取值范围1~7。
      Tier 设置冷归档文件的解冻模式,可选值为Expedited、Standard、Bulk。
      • Expedited(高优先级)表示1小时内完成解冻。
      • Standard(标准)表示2~5小时完成解冻。
      • Bulk(批量)表示5~12小时完成解冻。
      重要 数据解冻会产生一定费用。更多信息,请参见数据处理费用

    关于解冻Object的更多信息,请参见restore(解冻文件)

  3. 解冻完成后,迁移数据到OSS。具体操作,请参见准备工作

AWS S3

S3提供了S3cmd工具和批量两种解冻方法,请根据实际选择解冻方式。
  • 使用S3cmd工具解冻,每秒解冻约100个,适用于文件总数小于10万的场景。
  • 针对文件总数超过10万的,推荐使用批量解冻功能,批量解冻需在控制台界面做相关的配置,即可轻松批量解冻数百、数百万或数十亿归档数据。

使用S3cmd工具解冻文件

  1. 执行pip install s3cmd命令,安装s3cmd工具。
  2. 通过命令行配置AccessKey ID、AccessKey Secret,执行s3cmd –configure命令输入AccessKey ID、AccessKey Secret。
  3. 执行s3cmd restore -D 10 -priority=‘standard’ s3://bucket/object命令解冻指定Bucket下的文件。
    • -D用于指定解冻时长,不指定默认解冻时长为1天,此处以解冻时长10天为例介绍。
    • -priority用于指定还原文件的优先级,优先级包括批量(bulk)、标准(standard)和加急(expedited),此处以标准为例介绍。

    根据选择不同优先级,解冻所产生的费用不同。关于费用的更多信息,请参见AWS S3解冻收费文档。

  4. 解冻完成后,迁移数据到OSS。具体操作,请参见准备工作

批量解冻

重要 批量解冻功能基于AWS Inventory清单,如果您需要批量解冻某个Bucket下的文件,请先创建该bucket的清单任务,并且已生成第一次报告。
  1. 创建一个拥有Bucket所有操作权限的角色。
    1. 登录后,进入IAM控制台,点击左侧角色,选择创建角色
    2. 在创建角色页面,选择受信任实体的类型为AWS产品 > S3,选择使用案例为S3 Batch Operations,并单击下一步:权限
    3. 配置权限策略,在筛选框中输入S3查找S3相关的策略,选择AmazonS3FullAccess,并单击下一步:标签
    4. 根据实际需要添加标签,并单击下一步:审核
    5. 在审核页面,填写角色名称以及角色描述,并单击创建角色,完成角色创建。
  2. 通过清单创建作业来解冻文件。
    1. 在待迁移Bucket页面,选择管理 > 库存配置
    2. 在库存配置页面,选中已有的清单,并单击通过清单创建作业
      重要 如果配置了清单但未生成第一份报告,则该功能不可用。
    3. 选择区域和清单,并单击下一步
    4. 选择还原,填入要还原的日期,两种套餐只是时间的区别,建议选择标准检索,并单击下一步
      请根据数据总量预估足够的解冻时长,以防迁移期间数据再次变成冻结状态。
    5. 配置其他选项,并单击下一步
      其中描述和优先级保持默认值,填写完成报告目标路径,IAM中选择之前创建的角色,标签可不填。
    6. 确认所填信息正确无误后,单击创建作业
    7. 跳转到批处理操作的任务列表页面,确认新创建的作业处于等待确认运行状态时,选择指定作业,并单击运行作业
      任务状态到达已完成状态时,并不代表文件已解冻成功,需根据标准检索的时间推算解冻完成的时间,预计是5~12小时。您也可以查看解冻文件详情中文件是否为已解冻的状态,更多信息,请参见AWS S3清单批量解冻相关文档。
  3. 解冻完成后,迁移数据到OSS。具体操作,请参见准备工作

腾讯云COS

COS提供了coscmd工具来解冻归档文件,支持批量解冻。使用coscmd工具解冻的具体步骤如下:

  1. 执行pip install coscmd命令,安装coscmd工具。
  2. 通过命令行工具执行coscmd config -a ak -s sk -b bucket -r region命令,配置、AccessKey ID、AccseeKey Secret、bucket和region。
  3. 执行coscmd restore -r -d 10 -t Expedited examplefolder/命令,解冻指定bucket下的文件。
    • -d用于指定解冻时长,不指定默认解冻时长为7天,此处以解冻时长10天为例介绍。
    • -t用于指定还原文件的优先级,优先级包括加速(极速模式)、标准(标准模式)和批量(批量模式),默认值为标准,此处以加速为例介绍。

    根据选择不同优先级,解冻所产生的费用不同。更多信息,请参见腾讯云COS解冻相关文档。

  4. 解冻完成后,迁移数据到OSS。具体操作,请参见准备工作

七牛云

七牛云提供了批量解冻归档文件的方法。具体步骤如下:

  1. 调用解冻归档存储文件接口批量解冻文件。更多信息,请参见七牛解冻相关文档。

    请求示例

    EncodedEntryURI格式为<Bucket>:<Key>,Base64编码后的地址。FreezeAfterDays用于指定解冻有效时长,取值范围为1~7。
    POST /batch HTTP/1.1
    Host:           rs.qbox.me
    Content-Type:   application/x-www-form-urlencoded
    Authorization:  Qiniu <AccessToken>
    
    op=/restoreAr/<EncodedEntryURI>/freezeAfterDays/<FreezeAfterDays>&op=/restoreAr/<EncodedEntryURI>/freezeAfterDays/<FreezeAfterDays>&...
    响应示例
    HTTP/1.1 200 OK
    Content-Type: application/json
    Cache-Control: no-store
  2. 解冻完成后,迁移数据到OSS。具体操作,请参见准备工作