本文介绍不同数据源归档数据如何解冻,并迁移到OSS。
阿里云OSS
OSS提供了ossutil工具来解冻归档文件,支持解冻指定前缀的归档类型Object。此处以Linux下使用ossutil工具解冻归档文件为例说明,具体步骤如下:
- 按照您使用的操作系统下载和安装ossutil工具,并配置可执行权限,具体操作请参见:安装ossutil。
- 在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(解冻文件)。
- 解冻完成后,迁移数据到OSS。具体操作,请参见:阿里云OSS之间迁移教程。
AWS S3
- 使用S3cmd工具解冻,每秒解冻约100个,适用于文件总数小于10万的场景。
- 针对文件总数超过10万的,推荐使用批量解冻功能,批量解冻需在控制台界面做相关的配置,即可轻松批量解冻数百、数百万或数十亿归档数据。
使用S3cmd工具解冻文件的具体步骤如下:
- 执行pip install s3cmd命令,安装s3cmd工具。
- 通过命令行配置AccessKey ID、AccessKey Secret,执行s3cmd -configure命令输入AccessKey ID、AccessKey Secret。
- 执行s3cmd restore -D 10 -priority='standard' s3://bucket/object命令解冻指定Bucket下的文件。
- -D用于指定解冻时长,不指定默认解冻时长为1天,此处以解冻时长10天为例介绍。
- -priority用于指定还原文件的优先级,优先级包括批量(bulk)、标准(standard)和加急(expedited),此处以标准为例介绍。
根据选择不同优先级,解冻所产生的费用不同。关于费用的更多信息,请参见AWS S3解冻收费文档。
- 解冻完成后,迁移数据到OSS。具体操作,请参见:AWS S3迁移教程。
- 创建一个拥有Bucket所有操作权限的角色。
- 登录后,进入IAM控制台,点击左侧角色,选择创建角色。
- 在创建角色页面,选择受信任实体的类型为S3 Batch Operations,并单击下一步:权限。 ,选择使用案例为
- 配置权限策略,在筛选框中输入S3查找S3相关的策略,选择AmazonS3FullAccess,并单击下一步:标签。
- 根据实际需要添加标签,并单击下一步:审核。
- 在审核页面,填写角色名称以及角色描述,并单击创建角色,完成角色创建。
- 通过清单创建作业来解冻文件。
- 解冻完成后,迁移数据到OSS。具体操作,请参见:AWS S3迁移教程。
Azure Blob
Azure Blob提供在控制台通过改变Blob层的属性来解冻归档文件,支持批量解冻。Blob层解冻的具体步骤如下:
- 在需要解冻的Blob下单击配置,找到Blob访问层选项,修改冷层为热层后保存,此过程称为解冻,可能需要多个小时才能完成。更多信息,请参见Azure Blob解冻相关文档。解冻优先级包括高和标准,可在设置Blob层操作中通过可选属性x-ms-rehydrate-priority进行设置。
- 标准:解冻请求将按其接收顺序处理,最长可能需要15个小时。
- 高:解冻请求优先于标准请求,对于小于10 GB的对象,可在1小时内完成解冻。
说明 如果不想要解冻存档的Blob,您可以选择执行复制Blob操作。原始Blob在存档中保持未修改状态,同时会在热层创建新的Blob,然后您可以将新的Blob中的数据迁移到OSS。发起解冻请求后,将无法取消。在解冻过程中,x-ms-access-tier blob属性将继续显示为存档,直到解冻完成。要确认解冻状态和进度,可以调用获取Blob 属性以查看x-ms-archive-status和x-ms-rehydrate-priority blob属性。
- 解冻完成后,迁移数据到OSS。具体操作,请参见:Azure Blob迁移教程。
谷歌Cloud Stroage
谷歌Cloud Stroage提供gsutil工具,通过修改对象的存储类别来解冻归档文件,仅支持指定对象解冻,不支持批量解冻。使用gsutil工具解冻的具体步骤如下:
- 请提前下载和安装gsutil工具,并进行身份验证。
- 执行gsutil rewrite -s STORAGE_CLASS gs://PATH_TO_OBJECT命令,解冻指定对象。更多信息,请参见谷歌Cloud Stroage解冻相关文档。
- STORAGE_CLASS表示对象的新存储类别,例如nearline。
- PATH_TO_OBJECT表示指定要修改存储类别的对象名称,例如pets/dog.png。
- 解冻完成后,迁移数据到OSS。具体操作,请参见:谷歌GCP迁移教程。
腾讯云COS
COS提供了coscmd工具来解冻归档文件,支持批量解冻。使用coscmd工具解冻的具体步骤如下:
- 执行pip install coscmd命令,安装coscmd工具。
- 通过命令行工具执行coscmd config -a ak -s sk -b bucket -r region命令,配置、AccessKey ID、AccseeKey Secret、bucket和region。
- 执行coscmd restore -r -d 10 -t Expedited examplefolder/命令,解冻指定bucket下的文件。
- -d用于指定解冻时长,不指定默认解冻时长为7天,此处以解冻时长10天为例介绍。
- -t用于指定还原文件的优先级,优先级包括加速(极速模式)、标准(标准模式)和批量(批量模式),默认值为标准,此处以加速为例介绍。
根据选择不同优先级,解冻所产生的费用不同。更多信息,请参见腾讯云COS解冻相关文档。
- 解冻完成后,迁移数据到OSS。具体操作,请参见:腾讯云COS迁移教程。
华为云OBS
OBS提供了obsutil工具来解冻归档文件,支持批量解冻。使用obsutil工具解冻的具体步骤如下:
- 请提前下载和安装obsutil工具。
- 解压和运行obsutil工具。
- Windows平台:解压obsutil工具包后,双击运行obsutil.exe,即可开始使用。
- Linux或Mac平台:通过tar -xzvf命令解压obsutil工具包后,进入obsutil所在目录,执行chmod 755 obsutil命令,为obsutil增加可执行权限,即可开始使用。
- 执行相应命令解冻指定bucket下的文件。如果指定为bucket,则解冻bucket下所有clod文件。更多信息,请参见华为云OBS解冻相关文档。
Windows平台下,请执行obsutil restore obs://bucket-test/key -r -f -i ak -k sk -e endpoint,Linux或Mac平台下,请执行./obsutil restore obs://bucket-test/key -r -f -i ak -k sk -e endpoint命令。
- -r(必选)用于按指定的对象名前缀,批量恢复cold存储对象。
- -f(可选)用于强制操作,不进行询问提示,批量恢复。
- -v(可选)用于按指定的对象名前缀批量恢复多版本cold存储对象。
- -j(可选)用于批量恢复cold存储对象的最大并发数。
- -d(必选)用于指定解冻时长,不指定默认解冻时长为1天,取值范围为1~30,此处以解冻时长10天为例介绍。
- -t(必选)用于指定还原文件的优先级,优先级包括expedited(极速模式,1~5分钟取回)和standard(标准模式,3~5小时取回),默认值为expedited,此处以加速为例介绍。
- 解冻完成后,迁移数据到OSS。具体操作,请参见:华为云OBS迁移教程。
百度云BOS
BOS提供了RestoreObject来解冻归档文件,目前仅支持解冻指定文件,不支持批量解冻。解冻文件的具体步骤如下:
- 调用RestoreObject接口解冻归档文件。更多信息,请参见百度云BOS RestoreObject接口相关文档。
请求示例
x-bce-restore-days用于指定解冻后状态的持续时间,默认解冻持续天数为7天,取值范围为0~30。x-bce-restore-tier用于指定还原文件的优先级,优先级包括Expedited和Standard。POST /ObjectName?restore HTTP/1.1 Host: <BucketName>.bj.bcebos.com Date: <Date> Content-Length: 0 Authorization: <Authorization_String> x-bce-restore-tier:Expedited/Standard x-bce-restore-days:3
响应示例HTTP/1.1 200 OK x-bce-request-id: 4db4b34d-653d-4d9a-b49b-3049ca786409 Date: Wed, 31 May 2018 08:34:40 GMT Server: BceBos
- 解冻完成后,迁移数据到OSS。具体操作,请参见:百度云BOS迁移教程。
金山云KS3
KS3提供了RestoreObject来解冻归档文件,目前仅支持解冻指定文件,不支持批量解冻。解冻文件的具体步骤如下:
- 调用RestoreObject接口解冻归档文件。请求示例
POST /{ObjectKey}?restore HTTP/1.1 Host: {BucketName}.{endpoint} Date: {date} Authorization: {SignatureValue}
说明- 解冻状态默认持续24小时,24小时内再次调用Restore Object接口则解冻状态会自动延长24小时,最多可延长7天。
- 如果是对归档Object第一次调用RestoreObject接口,则返回202,如果已经成功调用过RestoreObject接口,且Object仍处于解冻中,再次调用时返回409,错误码为RestoreAlreadyInProgress,表示服务端正在执行解冻操作,用户只需要等待解冻完成,最长等待时间10分钟,如果已经成功调用过RestoreObject接口,且服务端解冻已经完成,再次调用时返回200,且会将归档文件的可下载时间延长一天,最多延长7天。
- 对一个处于冷冻状态的Object执行Restore操作,会产生数据取回费用,每次调用Restore Object接口,都会产生请求数费用。关于计费的更多信息,请参见KS3解冻相关文档。
响应示例HTTP/1.1 200 OK Server: Tengine Date: Fri, 26 Dec 2018 06:40:02 GMT Content-Length: 0 Connection: keep-alive X-Application-Context: application x-kss-request-id: 1d147c34a9d542aa8dc7f0f70d3db893 x-kss-storage-class: ARCHIVE
- 解冻完成后,迁移数据到OSS。具体操作,请参见:金山云KS3迁移教程。
七牛云
七牛云提供了批量解冻归档文件的方法。具体步骤如下:
- 调用解冻归档存储文件接口批量解冻文件。更多信息,请参见七牛解冻相关文档。
请求示例
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
- 解冻完成后,迁移数据到OSS。具体操作,请参见七牛云迁移教程。
Ucloud US3
Ucloud US3提供了us3cli工具来解冻文件,支持批量解冻。使用us3cli工具解冻的具体步骤如下:
- 请提前下载和安装us3cli工具,并配置可执行权限。
- 通过命令行工具执行./us3cli config config1 --accesskey ak --secretkey --endpoint endpoint命令,配置AcseeKey ID、AccessKey Secret和endpoint。
- 执行./us3cli restore us3://bucket/dir -r --parallel 30命令,解冻bucket下指定目录中所有文件并指定并发数。更多信息,请参见US3常用命令中的restore相关内容。
- -r用于指定递归文件夹中的所有文件及子目录下所有文件。
- --parallel用于指定批量激活并发数,默认值为10,此处以30为例介绍。
- 解冻完成后,迁移数据到OSS。具体操作,请参见:Ucloud US3迁移教程。