阿里雲OSS歸檔文件特性

OSS歸檔文件特性:

1.上傳文件即爲凍結狀態。

2.阿里雲控制檯手動解凍需要1分鐘左右,其他調用解凍時長爲1分鐘-4小時不等。

3.一次解凍流程可以持續24小時,24小時內再次調用會自動延長24小時,一次解凍最多可以有效調用7次接口。

4.解凍狀態結束後,狀態會自動凍結。



java解凍歸檔文件說明。

歸檔類型(Archive)的文件需要解凍(Restore)之後才能讀取。非歸檔類型的文件,不要調用RestoreObject方法。


歸檔類型的Object在執行解凍前後的狀態變換過程如下:

歸檔類型的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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章