Se você não ativar o acesso em tempo real a objetos Archive, só poderá acessá-los após restaurá-los. O console do Object Storage Service (OSS) permite restaurar apenas um objeto por vez, o que impede a restauração simultânea de vários objetos em um diretório. Para restaurar múltiplos objetos ao mesmo tempo, use outros métodos. Este tópico descreve como restaurar vários objetos em lote.
Solução
Para restaurar vários objetos em um bucket ao mesmo tempo, siga as etapas a seguir:
-
Liste todos os objetos.
Recomendamos o uso do recurso de inventário de bucket para listar os objetos. Para mais informações, consulte Bucket inventory.
Também é possível listar objetos chamando a operação ListObjects. No entanto, essa operação gera custos maiores em comparação à listagem baseada em inventário. Para mais informações, consulte List objects e Request fees.
-
Se você usar o recurso de inventário de bucket para listar os objetos, filtre aqueles cujo StorageClass seja Archive na lista retornada e registre os caminhos completos dos objetos, excluindo o nome do bucket.
NotaSe você listar objetos usando os SDKs do OSS, use a combinação de Key e StorageClass para obter os caminhos dos objetos e suas respectivas classes de armazenamento. O código de exemplo a seguir retorna o caminho do objeto "s" e sua classe de armazenamento.
System.out.println("fileurl"+s.getKey()+"&stu:"+s.getStorageClass()); -
Restaure os objetos nos caminhos correspondentes simultaneamente. Use um dos métodos a seguir para restaurar múltiplos objetos em lote. Para mais informações, consulte Restore objects.
ossutil: Em comparação com os outros dois métodos, o ossutil é mais simples e eficiente, caso você tenha familiaridade com operações de linha de comando.
API do OSS: A API do OSS não possui uma operação específica para restaurar vários objetos simultaneamente. Você precisa chamar a operação RestoreObject para cada objeto a ser restaurado e escrever o código para calcular a assinatura ao chamar a operação. Recomendamos o uso da API do OSS quando sua aplicação exige um alto nível de personalização.
SDKs do OSS: O uso dos SDKs do OSS é mais complexo que o ossutil e exige capacidade de leitura e modificação de código, que você compila e executa no dispositivo local. Por outro lado, os SDKs do OSS oferecem melhor reutilização de código. Mais adiante neste tópico, há um exemplo de código que demonstra como restaurar vários objetos ao mesmo tempo usando o SDK do OSS para Java.