Use o iOS SDK para excluir um ou mais objetos de um bucket do OSS.
Objetos excluídos não podem ser recuperados. Tenha cuidado ao executar operações de exclusão.
Observações de uso
Antes de executar o código de exemplo deste tópico, crie uma instância do OSSClient usando métodos como nome de domínio personalizado ou Security Token Service (STS). Para mais informações, consulte Inicialização.
Para excluir um objeto, você precisa ter permissões de gravação no bucket que o armazena.
Excluir um único objeto
O exemplo a seguir mostra como excluir um objeto chamado exampleobject.txt de um bucket chamado 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];
Excluir vários objetos simultaneamente
É possível excluir até 1.000 objetos por vez.
Os resultados podem ser retornados em um dos seguintes modos:
verbose: Se quiet estiver definido como NO, o sistema retorna a lista de todos os objetos excluídos.
quiet: Caso quiet não seja especificado ou esteja definido como YES, o sistema retorna apenas a lista de objetos cuja exclusão falhou.
O exemplo a seguir demonstra como excluir vários objetos de um bucket chamado examplebucket e obter o resultado no modo 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];
Referências
-
Exclusão de um único objeto
Para a operação da API usada para excluir um único objeto, consulte DeleteObject.
-
Exclusão de vários objetos simultaneamente
Para a operação da API usada para excluir vários objetos, consulte DeleteMultipleObjects.
Para mais informações sobre como inicializar uma instância do OSSClient, consulte Inicialização.