Tous les produits
Search
Centre de documentation

Object Storage Service:Manage lifecycle rules (Android SDK)

Dernière mise à jour :Aug 18, 2026

Configurez des règles de cycle de vie basées sur la date de dernière modification pour transférer automatiquement les objets vers des classes de stockage plus froides ou les supprimer, réduisant ainsi les coûts de stockage.

Notes d'utilisation

  • Autorisations requises : oss:PutBucketLifecycle pour configurer les règles, oss:GetBucketLifecycle pour interroger les règles et oss:DeleteBucketLifecycle pour supprimer toutes les règles de cycle de vie. Consultez la rubrique Accorder des politiques d'accès personnalisées à un utilisateur RAM.

  • Avant d'exécuter l'exemple de code de cette rubrique, créez une instance OSSClient en utilisant des méthodes telles que l'utilisation d'un nom de domaine personnalisé ou du Security Token Service (STS). Pour plus d'informations, consultez la rubrique Initialisation (SDK Android).

Configurer les règles de cycle de vie

Le code suivant configure des règles de cycle de vie basées sur la date de dernière modification pour un compartiment nommé examplebucket. Vous pouvez également modifier les règles de cycle de vie existantes.

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

BucketLifecycleRule rule1 = new BucketLifecycleRule();
// Set the rule ID and file prefix.
rule1.setIdentifier("1");
rule1.setPrefix("A");
// Specify whether to execute the lifecycle rule. If the value is true, OSS periodically executes the rule. If the value is false, OSS ignores the rule.
rule1.setStatus(true);
// Expire objects 200 days after the last modified time.
rule1.setDays("200");
// Transition objects to the Archive storage class after 30 days.
rule1.setArchiveDays("30");
// Expire incomplete multipart uploads after 3 days.
rule1.setMultipartDays("3");
// Transition objects to the Infrequent Access (IA) storage class after 15 days.
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();

Interroger les règles de cycle de vie

Le code suivant montre comment interroger les règles de cycle de vie configurées pour le compartiment nommé 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();

Supprimer les règles de cycle de vie

Le code suivant montre comment effacer les règles de cycle de vie dans un compartiment nommé examplebucket. Si vous souhaitez supprimer une ou plusieurs règles de cycle de vie, reportez-vous à la rubrique Supprimer les règles de cycle de vie.

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();

Références

  • Exemple de code complet pour la gestion des règles de cycle de vie : GitHub.

  • Opération API pour la configuration des règles de cycle de vie : PutBucketLifecycle.

  • Opération API pour l'interrogation des règles de cycle de vie : GetBucketLifecycle.

  • Opération API pour la suppression des règles de cycle de vie : DeleteBucketLifecycle.

  • Initialiser une instance OSSClient : Initialisation.