OSS歸檔文件特性:html
1.上傳文件即爲凍結狀態。java
2.阿里雲控制檯手動解凍須要1分鐘左右,其餘調用解凍時長爲1分鐘-4小時不等。運維
3.一次解凍流程能夠持續24小時,24小時內再次調用會自動延長24小時,一次解凍最多能夠有效調用7次接口。ide
4.解凍狀態結束後,狀態會自動凍結。ui
java解凍歸檔文件說明。阿里雲
歸檔類型(Archive)的文件須要解凍(Restore)以後才能讀取。非歸檔類型的文件,不要調用RestoreObject方法。rest
歸檔類型的Object在執行解凍先後的狀態變換過程以下:htm
歸檔類型的Object初始時處於冷凍狀態。接口
提交一次解凍請求後,Object處於解凍中的狀態。完成解凍任務一般須要1分鐘,最長等待任務完成時間爲4小時。文檔
服務端完成解凍任務後,Object進入解凍狀態,此時您能夠讀取Object。解凍狀態默認持續24小時,24小時內再次調用RestoreObject接口則解凍狀態會自動延長24小時。對於同份歸檔文件,一次解凍流程內可有效調用7次RestoreObject接口達到最長7天的解凍持續時間。
解凍狀態結束後,Object再次返回到冷凍狀態。
如下代碼用於解凍歸檔文件:
// Endpoint以杭州爲例,其它Region請按實際狀況填寫。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里雲主帳號AccessKey擁有全部API的訪問權限,風險很高。強烈建議您建立並使用RAM帳號進行API訪問或平常運維,請登陸 https://ram.console.aliyun.com 建立RAM帳號。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
String bucketName = "<yourBucketName>";
String objectName = "<yourObjectName>";
// 建立OSSClient實例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
ObjectMetadata objectMetadata = ossClient.getObjectMetadata(bucketName, objectName);
// 校驗文件是否爲歸檔文件。
StorageClass storageClass = objectMetadata.getObjectStorageClass();
if (storageClass == StorageClass.Archive) {
// 解凍文件。
ossClient.restoreObject(bucketName, objectName);
// 等待解凍完成。
do {
Thread.sleep(1000);
objectMetadata = ossClient.getObjectMetadata(bucketName, objectName);
} while (!objectMetadata.isRestoreCompleted());
}
// 獲取解凍文件。
OSSObject ossObject = ossClient.getObject(bucketName, objectName);
ossObject.getObjectContent().close();
// 關閉OSSClient。
ossClient.shutdown();
解凍文檔說明連接:https://cn.aliyun.com/ss/5b2S5qGj5a2Y5YKo6Kej5Ya7/1_h
java解凍文件說明連接:https://help.aliyun.com/document_detail/84846.html?spm=5176.11065259.1996646101.searchclickresult.487356934w3in6