对象存储OSS发布新特性:文件上传、复制,支持指定Object的存储类型。用户在上传、复制文件时,可灵活地指定文件的存储类型为Standard、IA、Archive;用户也可以修改实时修改文件的存储类型,比如从低频型(IA)修改为标准型。
文件上传、复制操作,支持指定Object存储类型,用户可以用来做什么?
直接上传低频、归档类型的文件,而不需等待生命周期管理做类型转换
- 之前:用户创建一个标准型的Bucket ,上传到该Bucket的文件都默认是标准型,需要等待生命周期将文件转换低频、归档类型。由于生命周期管理是定时异步操作,转换时间粒度在天级别。
- 现在:用户在上传文件时,直接可指定文件类型为低频、归档类型。
实时改变文件的存储类型
用户除了可设置生命周期管理规则,将符合规则的文件,自动按天级别,从标准转成低频、归档,或从低频转成归档。现在,可以通过覆写单个文件,实时改变文件的存储类型,并且可以在标准、低频、归档之间任意转换。
说明:
- 此操作涉及到数据覆盖操作,如果“低频型”或“归档型”对象分别在创建后 30 和 60 天内被覆盖,则它们会产生“提前删除“费用。比如,低频型对象创建10天后,被覆写修改成归档型或标准型,则会产生20天的提前删除费用。
2.低频、归档文件的读取,会涉及数据取回的费用,具体可参考OSS计费说明。
- 此操作涉及到数据覆盖操作,如果“低频型”或“归档型”对象分别在创建后 30 和 60 天内被覆盖,则它们会产生“提前删除“费用。比如,低频型对象创建10天后,被覆写修改成归档型或标准型,则会产生20天的提前删除费用。
哪些RESTFul API支持指定Object存储类型?
支持设置Object存储类型的API
在请求Head中,增加x-oss-storage-class的Head信息,取值为Standard、IA、Archive
- 文件上传:PutObject, InitMultipartUpload, AppendObject
- 文件复制:CopyObject、InitMultipartUpload(大文件拷贝,配合UploadpartCopy)
示例:RESTFul API 直接上传归档型文件
PUT /oss.jpg HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com Cache-control: no-cache
Expires: Fri, 19 Oct 2018 05:38:42 GMT
Content-Encoding: utf-8
Content-Disposition: attachment;filename=oss_download.jpg
Date: Fri, 19 Oct 2018 06:03:28 GMT
Content-Type: image/jpg
Content-Length: 344606
x-oss-storage-class: Archive
Authorization: OSS n6qrrqxo2oawuk53otfjbyc:kZoYNv66bsmc10+dcGKw5x2PRrk=
[344606 bytes of object data]
如何使用ossutil上传、复制是指定存储类型的文件或修改文件存储类型?
使用ossutil上传指定存储类型的文件
示例:上传单个文件,指定存储类型。
以下命令,上传一个低频型的文件。ossutil64.exe cp ./bigcsv_normal_1000.csv oss://testosspicwhj/ --meta X-oss-Storage-Class:IA
上传完成后,查看文件类型:
ossutil64.exe ls oss://testosspicwhj/bigcsv_normal_1000.csv
可以看到,文件类型是低频型(IA)
示例:上传文件夹,指定存储类型。
以下命令,上传一个文件夹,其所有文件都指定为归档型。ossutil64.exe cp ./ossutil_output/ oss://testosspicwhj/ossutil_output/ -r --meta X-oss-Storage-Class:Archive
上传完成后,查看文件类型:
ossutil64.exe ls oss://testosspicwhj/ossutil_output/
可以看到,该文件夹下所有文件都是Archive类型
使用ossutil复制文件时,指定目标文件的存储类型
- 示例1:复制某一个文件,且复制后的文件类型指定为归档型(Archive)
ossutil64.exe cp oss://testosspicwhj/bigcsv_normal_1000.csv oss://testosspicwhj/csv_copy.csv --meta X-oss-Storage-Class:Archive
使用ossutil覆写已有文件,以修改存储类型-使用cp命令
说明:此操作涉及到数据覆盖操作,如果“低频型”或“归档型”对象分别在创建后 30 和 60 天内被覆盖,则它们会产生“提前删除“费用。比如,低频型对象创建10天后,被覆写修改成归档型或标准型,则会产生20天的提前删除费用。
- 示例1:覆写单个文件,修改文件的存储类型,如从标准型(Standard)修改为归档型(Archive)
ossutil64.exe cp oss://testosspicwhj/pics/Koala.jpg oss://testosspicwhj/pics/Koala.jpg --meta X-oss-Storage-Class:Archive
示例2:覆写文件夹,修改文件夹所有文件的存储类型,如从低频型(IA)修改为标准型(Standard)
ossutil64.exe cp oss://testosspicwhj/pics/ oss://testosspicwhj/pics/ -r --meta X-oss-Storage-Class:Standard
示例3:覆写文件夹,修改文件夹所有文件的存储类型,从归档型(Archive)修改为标准型(Standard)
ossutil64.exe restore oss://testosspicwhj/pics/ -r ossutil64.exe cp oss://testosspicwhj/pics/ oss://testosspicwhj/pics/ -r --meta X-oss-Storage-Class:Standard
首先,将Archive文件恢复为可读状态(执行命令后,1分钟生效);然后 ,修改存储类型。
其他说明:
- 功能开放情况说明:OSS所有区域,上述OSS的相关RESTFul API都已支持x-oss-storage-class请求Head,可指定文件的存储类型,可参考API帮助文档
- ossutil新版本发布: ossutil1.4.2版本已发布
- OSS SDK、控制台、OSSBrowser,后续接口或操作会逐步支持指定文件的存储类型