创建归档存储类型的存储空间
您可以通过控制台、API/SDK和命令行工具创建归档存储类型的存储空间。
通过控制台创建 通过控制台创建归档存储类型的存储空间,存储类型选择归档存储,如下图所示。
通过API/SDK创建
以Java SDK为例:
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret); CreateBucketRequest createBucketRequest=new CreateBucketRequest(bucketName); // 设置Bucket权限为公共读,默认是私有读写 createBucketRequest.setCannedACL(CannedAccessControlList.PublicRead); // 设置Bucket存储类型为归档类型,默认是标准类型 createBucketRequest.setStorageClass(StorageClass.Archive); ossClient.createBucket(createBucketRequest);
createBucketRequest.setStorageClass(StorageClass.Archive);
即设置创建的存储空间的存储类型为归档存储类型。
通过ossutil工具创建
./ossutil mb oss://[bucket name] --storage-class=Archive [bucket name]
为需要创建的存储空间名称。指定--storage-class的参数为Archive,用来创建归档存储类型的存储空间。
使用归档存储类型
上传数据 归档存储类型存储空间支持PutObject和MultipartUpload两种上传方式,不支持AppendObject。
下载数据 归档类型数据在读取前需要先执行restore操作解冻到可读取状态,解冻过程需要1分钟时间。
归档文件的状态变换过程如下:
归档类型的文件初始时处于冷冻状态。 提交解冻(restore)操作后,服务端执行解冻,文件处于解冻中状态。 完成解冻后,可以读取文件。 解冻状态默认持续1天,最多延长7天,之后文件又回到冷冻状态。
解冻方式有如下几种:
对需要读取的文件,执行解冻操作,解冻过程预计花费1分钟。期间可以查询到Object处于解冻中状态。
使用API/SDK解冻 以Java SDK举例,调用restoreObject方法进行Object解冻:
ObjectMetadata objectMetadata = ossClient.getObjectMetadata(bucketName, key); // check whether the object is archive class StorageClass storageClass = objectMetadata.getObjectStorageClass(); if (storageClass == StorageClass.Archive) { // restore object ossClient.restoreObject(bucketName, key); // wait for restore completed do { Thread.sleep(1000); objectMetadata = ossClient.getObjectMetadata(bucketName, key); } while (!objectMetadata.isRestoreCompleted()); } // get restored object OSSObject ossObject = ossClient.getObject(bucketName, key); ossObject.getObjectContent().close();
使用ossutil工具解冻
./ossutil restore oss://[Bucket name]/[Object name]
[Bucket name]和[Object name]为需要做解冻操作的Bucket和Object名称。对已解冻的Object调用此命令会延长Object的解冻时间,最长7天。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。