全部产品
Search
文档中心

Object Storage Service:Lifecycle (Android SDK)

更新时间:Nov 30, 2025

Beberapa data yang diunggah ke Object Storage Service (OSS) mungkin jarang diakses tetapi tetap perlu disimpan dalam cold storage karena persyaratan kepatuhan atau arsip. Anda dapat menghapus data yang tidak lagi diperlukan secara batch untuk mengurangi biaya penyimpanan. Dalam kasus ini, Anda dapat mengonfigurasi aturan lifecycle berdasarkan waktu modifikasi terakhir objek untuk secara berkala mengubah kelas penyimpanan objek dari hot ke cold atau menghapus objek guna mengurangi biaya penyimpanan.

Catatan penggunaan

  • Anda harus memiliki izin oss:PutBucketLifecycle untuk menetapkan aturan lifecycle, izin oss:GetBucketLifecycle untuk melihat aturan lifecycle, dan izin oss:DeleteBucketLifecycle untuk menghapus semua aturan lifecycle. Untuk informasi selengkapnya, lihat Berikan kebijakan akses kustom kepada RAM user.

  • Sebelum menjalankan kode contoh dalam topik ini, Anda harus membuat instans OSSClient dengan menggunakan metode seperti menggunakan nama domain kustom atau Security Token Service (STS). Untuk informasi selengkapnya, lihat Inisialisasi (Android SDK).

Konfigurasikan aturan lifecycle untuk bucket

Kode contoh berikut menunjukkan cara mengonfigurasi aturan lifecycle berdasarkan waktu modifikasi terakhir objek untuk bucket bernama examplebucket. Untuk memodifikasi aturan lifecycle, ikuti petunjuk yang dijelaskan dalam Bagaimana cara mengubah konfigurasi satu atau beberapa aturan lifecycle?

PutBucketLifecycleRequest request = new PutBucketLifecycleRequest();
request.setBucketName("examplebucket");

BucketLifecycleRule rule1 = new BucketLifecycleRule();
// Setel ID aturan dan awalan file.
rule1.setIdentifier("1");
rule1.setPrefix("A");
// Tentukan apakah aturan lifecycle akan dieksekusi. Jika nilainya true, OSS akan mengeksekusi aturan secara berkala. Jika nilainya false, OSS akan mengabaikan aturan tersebut.
rule1.setStatus(true);
// Hapus objek 200 hari setelah waktu modifikasi terakhir.
rule1.setDays("200");
// Pindahkan objek ke kelas penyimpanan Archive setelah 30 hari.
rule1.setArchiveDays("30");
// Hapus unggah multi-bagian yang belum lengkap setelah 3 hari.
rule1.setMultipartDays("3");
// Pindahkan objek ke kelas penyimpanan Infrequent Access (IA) setelah 15 hari.
rule1.setIADays("15");

BucketLifecycleRule rule2 = new BucketLifecycleRule();
rule2.setIdentifier("2");
rule2.setPrefix("B");
rule2.setStatus(true);
rule2.setDays("300");
rule2.setArchiveDays("30");
rule2.setMultipartDays("3");
rule2.setIADays("15");

ArrayList<BucketLifecycleRule> lifecycleRules = new ArrayList<BucketLifecycleRule>();
lifecycleRules.add(rule1);
lifecycleRules.add(rule2);
request.setLifecycleRules(lifecycleRules);
OSSAsyncTask task = oss.asyncPutBucketLifecycle(request, new OSSCompletedCallback<PutBucketLifecycleRequest, PutBucketLifecycleResult>() {
    @Override
    public void onSuccess(PutBucketLifecycleRequest request, PutBucketLifecycleResult result) {
        OSSLog.logInfo("code::"+result.getStatusCode());

    }

    @Override
    public void onFailure(PutBucketLifecycleRequest request, ClientException clientException, ServiceException serviceException) {
        OSSLog.logError("error: "+serviceException.getRawMessage());

    }
});

task.waitUntilFinished();

Kueri aturan lifecycle bucket

Kode berikut menunjukkan cara melihat aturan lifecycle untuk bucket bernama examplebucket.

GetBucketLifecycleRequest request = new GetBucketLifecycleRequest();
request.setBucketName("examplebucket");
OSSAsyncTask task = oss.asyncGetBucketLifecycle(request, new OSSCompletedCallback<GetBucketLifecycleRequest, GetBucketLifecycleResult>() {
    @Override
    public void onSuccess(GetBucketLifecycleRequest request, GetBucketLifecycleResult result) {
         ArrayList<BucketLifecycleRule> list = result.getlifecycleRules();
         for (BucketLifecycleRule rule : list){
             OSSLog.logInfo("info: " + rule.getIdentifier());
         }
    }

    @Override
    public void onFailure(GetBucketLifecycleRequest request, ClientException clientException, ServiceException serviceException) {
        OSSLog.logError("error: "+serviceException.getRawMessage());

    }
});
task.waitUntilFinished();

Hapus aturan lifecycle bucket

Kode berikut menunjukkan cara menghapus semua aturan lifecycle untuk bucket bernama examplebucket. Untuk menghapus satu atau beberapa aturan lifecycle, lihat Bagaimana cara menghapus satu atau beberapa aturan lifecycle?.

DeleteBucketLifecycleRequest request = new DeleteBucketLifecycleRequest();
request.setBucketName("examplebucket");
OSSAsyncTask task = oss.asyncDeleteBucketLifecycle(request,"examplebucket" new OSSCompletedCallback<DeleteBucketLifecycleRequest, DeleteBucketLifecycleResult>() {
    @Override
    public void onSuccess(DeleteBucketLifecycleRequest request, DeleteBucketLifecycleResult result) {
        OSSLog.logInfo("code :  "+result.getStatusCode());

    }

    @Override
    public void onFailure(DeleteBucketLifecycleRequest request, ClientException clientException, ServiceException serviceException) {
        OSSLog.logError("error: "+serviceException.getRawMessage());

    }
});
task.waitUntilFinished();

Referensi

  • Untuk kode contoh lengkap yang digunakan untuk mengelola aturan lifecycle, kunjungi GitHub.

  • Untuk informasi selengkapnya tentang Operasi API yang dapat Anda panggil untuk mengonfigurasi aturan lifecycle, lihat PutBucketLifecycle.

  • Untuk informasi selengkapnya tentang Operasi API yang dapat Anda panggil untuk mengkueri aturan lifecycle, lihat GetBucketLifecycle.

  • Untuk informasi selengkapnya tentang Operasi API yang dapat Anda panggil untuk menghapus aturan lifecycle, lihat DeleteBucketLifecycle.

  • Untuk informasi selengkapnya tentang cara menginisialisasi instans OSSClient, lihat Inisialisasi.