Todos os produtos
Search
Central de documentação

Object Storage Service:Restore objects (iOS SDK)

Última atualização: Sep 25, 2026

Objetos nas classes de armazenamento Archive, Cold Archive e Deep Cold Archive não ficam acessíveis imediatamente e exigem restauração antes da leitura. Este tópico descreve como restaurar esses objetos com o SDK do iOS.

Pré-requisitos

Antes de começar, certifique-se de ter:

  • Uma instância do OSSClient. Para obter mais informações, consulte Initialization.

  • Um objeto armazenado na classe de armazenamento Archive, Cold Archive ou Deep Cold Archive

  • A permissão oss:RestoreObject para o bucket

Código de exemplo

O código a seguir mostra como restaurar um objeto chamado exampleobject.txt das classes de armazenamento Archive, Cold Archive ou Deep Cold Archive em um bucket chamado examplebucket:

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];

Importante: Enviar uma solicitação de restauração não significa que o objeto estará acessível imediatamente. O processo de restauração é executado de forma assíncrona e o tempo necessário varia de acordo com a classe de armazenamento.

Tratamento de erros

Erros comuns ao restaurar objetos:

Código do erro

Descrição

Solução

NoSuchKey

O objeto especificado não existe

Verifique a chave do objeto e o nome do bucket

OperationNotSupported

O objeto não pode ser restaurado porque não está em uma classe de armazenamento arquivada

Verifique se a classe de armazenamento do objeto é Archive, Cold Archive ou Deep Cold Archive. Somente objetos arquivados exigem restauração.

RestoreAlreadyInProgress

Já existe uma solicitação de restauração em andamento para este objeto

Aguarde a conclusão da restauração atual

Referências

  • Para obter a referência completa da API, consulte RestoreObject

  • Para obter informações sobre a inicialização de uma instância do OSSClient, consulte Initialization