Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:Restore objects (iOS SDK)

Son Güncelleme:Oct 01, 2026

Archive, Cold Archive ve Deep Cold Archive depolama sınıflarındaki nesnelere anında erişilemez; okunabilmeleri için öncelikle geri yüklenmeleri gerekir. Bu konu, iOS SDK kullanarak bu nesnelerin nasıl geri yükleneceğini açıklar.

Ön koşullar

Başlamadan önce şunlara sahip olduğunuzdan emin olun:

  • Bir OSSClient örneği. Daha fazla bilgi için bkz. Initialization.

  • Archive, Cold Archive veya Deep Cold Archive depolama sınıfında saklanan bir nesne

  • Paket için oss:RestoreObject izni

Örnek kod

Aşağıdaki kod, examplebucket adlı bir paketten exampleobject.txt adlı bir Archive, Cold Archive veya Deep Cold Archive nesnesinin nasıl geri yükleneceğini gösterir:

OSSRestoreObjectRequest *request = [OSSRestoreObjectRequest new];
// Bucket containing the archived object
request.bucketName = @"examplebucket";
// Full path of the object (do not include the bucket name)
request.objectKey = @"exampleobject.txt";

OSSTask *restoreObjectTask = [client restoreObject:request];
[restoreObjectTask continueWithBlock:^id _Nullable(OSSTask * _Nonnull task) {
    if (!task.error) {
        NSLog(@"Restore request submitted successfully");
        // Note: The object is not immediately accessible.
        // Check restoration status before attempting to read.
    } else {
        NSLog(@"Restore request failed: %@", task.error);
        // Handle specific errors (see Error handling section)
    }
    return nil;
}];
// Use synchronous blocking if you need to wait for request submission to complete
// Not recommended for UI thread as it blocks execution
// [restoreObjectTask waitUntilFinished];

Önemli: Bir geri yükleme isteği göndermek, nesneye hemen erişilebileceği anlamına gelmez. Geri yükleme işlemi eşzamansız olarak yürütülür ve depolama sınıfına bağlı olarak zaman alır.

Hata işleme

Nesneler geri yüklenirken karşılaşılan yaygın hatalar:

Hata kodu Açıklama Çözüm
NoSuchKey Belirtilen nesne mevcut değil Nesne anahtarını ve paket adını doğrulayın
OperationNotSupported Nesne arşivlenmiş bir depolama sınıfında olmadığı için geri yüklemeyi desteklemiyor Nesnenin depolama sınıfının Archive, Cold Archive veya Deep Cold Archive olduğunu doğrulayın. Yalnızca arşivlenmiş nesnelerin geri yüklenmesi gerekir.
RestoreAlreadyInProgress Bu nesne için zaten devam eden bir geri yükleme isteği var Mevcut geri yüklemenin tamamlanmasını bekleyin

İlgili kaynaklar