iOS SDK kullanarak bir OSS paketinden tek seferde tek bir nesneyi veya birden fazla nesneyi silebilirsiniz.
Silinen nesneler kurtarılamaz. Silme işlemlerini gerçekleştirirken dikkatli olun.
Kullanım notları
Bu konudaki örnek kodu çalıştırmadan önce özel etki alanı adı veya Security Token Service (STS) gibi yöntemler kullanarak bir OSSClient örneği oluşturmanız gerekir. Daha fazla bilgi için bkz. Başlatma.
Bir nesneyi silmek için, nesnenin depolandığı paket üzerinde yazma iznine sahip olmanız gerekir.
Tek bir nesneyi silme
Aşağıdaki örnekte, examplebucket adlı bir paketten exampleobject.txt adlı bir nesnenin nasıl silineceği gösterilmektedir:
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];
Tek seferde birden fazla nesneyi silme
Tek seferde en fazla 1.000 nesne silebilirsiniz.
Sonuçlar aşağıdaki modlardan birinde döndürülebilir:
verbose: quiet NO olarak ayarlanırsa silinen tüm nesnelerin listesi döndürülür.
quiet: quiet belirtilmezse veya YES olarak ayarlanırsa yalnızca silinemeyen nesnelerin listesi döndürülür.
Aşağıdaki örnekte, examplebucket adlı bir paketten birden fazla nesnenin nasıl silineceği ve sonucun quiet modunda nasıl döndürüleceği gösterilmektedir:
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];
İlgili konular
-
Tek bir nesneyi silme
Tek bir nesneyi silmek için kullanılan API işlemi hakkında bilgi için bkz. DeleteObject.
-
Tek seferde birden fazla nesneyi silme
Birden fazla nesneyi silmek için kullanılan API işlemi hakkında bilgi için bkz. DeleteMultipleObjects.
Bir OSSClient örneğinin nasıl başlatılacağı hakkında daha fazla bilgi için bkz. Başlatma.