Le SDK iOS vous permet de supprimer un objet unique ou plusieurs objets d'un bucket OSS en une seule opération.
La récupération des objets supprimés est impossible. Faites preuve de prudence lors des opérations de suppression.
Notes d'utilisation
Avant d'exécuter l'exemple de code de cette rubrique, créez une instance OSSClient à l'aide d'un nom de domaine personnalisé ou du Security Token Service (STS). Pour plus d'informations, consultez la rubrique Initialisation.
Pour supprimer un objet, vous devez disposer des autorisations d'écriture sur le bucket qui le contient.
Supprimer un objet unique
L'exemple suivant illustre la suppression de l'objet exampleobject.txt du bucket examplebucket :
OSSDeleteObjectRequest * delete = [OSSDeleteObjectRequest new];
// Specify the name of the bucket. Example: examplebucket.
delete.bucketName = @"examplebucket";
// Specify the full path of the object. Do not include the bucket name in the full path. Example: exampleobject.txt.
delete.objectKey = @"exampleobject.txt";
OSSTask * deleteTask = [client deleteObject:delete];
[deleteTask continueWithBlock:^id(OSSTask *task) {
if (!task.error) {
// ...
}
return nil;
}];
// Implement synchronous blocking to wait for the task to complete.
// [deleteTask waitUntilFinished];
Supprimer plusieurs objets simultanément
Vous pouvez supprimer jusqu'à 1 000 objets en une seule opération.
Les résultats sont renvoyés selon l'un des modes suivants :
verbose : si le paramètre
quietest défini surNO, la liste de tous les objets supprimés est renvoyée.quiet : si le paramètre
quietn'est pas spécifié ou est défini surYES, seule la liste des échecs de suppression est renvoyée.
L'exemple suivant montre comment supprimer plusieurs objets du bucket examplebucket et renvoyer le résultat en mode quiet :
OSSDeleteMultipleObjectsRequest *request = [OSSDeleteMultipleObjectsRequest new];
// Specify the name of the bucket. Example: examplebucket.
request.bucketName = @"examplebucket";
// Specify the full paths of objects to be deleted. Do not include the bucket name in the full paths of objects.
request.keys = @[@"exampleobject.txt", @"testfolder/sampleobject.txt"];
// Set quiet to YES to return only a list of objects that failed to be deleted.
request.quiet = YES;
OSSTask * deleteMultipleObjectsTask = [client deleteMultipleObjects:request];
[deleteMultipleObjectsTask continueWithBlock:^id(OSSTask *task) {
if (!task.error) {
OSSDeleteMultipleObjectsResult *result = task.result;
NSLog(@"delete objects: %@", result.deletedObjects);
} else {
NSLog(@"delete objects failed, error: %@", task.error);
}
return nil;
}];
// Implement synchronous blocking to wait for the task to complete.
// [deleteTask waitUntilFinished];
Références
-
Supprimer un objet unique
Pour plus d'informations sur l'opération API de suppression d'un objet unique, consultez la rubrique DeleteObject.
-
Supprimer plusieurs objets simultanément
Pour plus d'informations sur l'opération API de suppression de plusieurs objets, consultez la rubrique DeleteMultipleObjects.
Pour plus d'informations sur l'initialisation d'une instance OSSClient, consultez la rubrique Initialisation.