Quero restaurar um grande número de objetos do Amazon Simple Storage Service (Amazon S3). Os objetos do Amazon S3 estão na classe de armazenamento Glacier Flexible Retrieval ou Amazon S3 Glacier Deep Archive.
Resolução
Observação: se você receber mensagens de erro ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Para restaurar um grande volume de objetos da classe de armazenamento Amazon S3 Glacier, use Operações em lote do Amazon S3 ou um comando personalizado da AWS CLI.
Use as Operações em lote do Amazon S3
Crie um trabalho de Operações em lote do Amazon S3 para restaurar todos os objetos. É possível executar um Trabalho de restauração em uma lista personalizada de objetos ou em um relatório do inventário Amazon S3.
Pré-requisitos
Verifique o seguinte:
Para usar o console do Amazon S3 para criar um trabalho de operação em lote e iniciar uma restauração, conclua as etapas a seguir:
- Abra o console do Amazon S3.
- No painel de navegação, selecione Operações em lote.
- Clique em Criar trabalho.
- Em Região, selecione a região da AWS em que você deseja criar o trabalho.
- Em Escolher manifesto, insira:
Em Formato de manifesto, selecione relatório do inventário S3 ou CSV como formato do seu arquivo.
Em Caminho para o objeto de manifesto, insira o caminho da pasta para o arquivo do manifesto em seu bucket do S3, por exemplo, s3://awsexamplebucket/manifest.csv.
- Clique em Próximo.
- Em Escolher operação, insira o seguinte:
Em Operação, selecione Restaurar.
Em Restaurar origem, clique em Glacier Flexible Retrieval ou Glacier Deep Archive.
Em Número de dias em que a cópia restaurada está disponível, insira o número de dias.
Em Restaurar nível, selecione Recuperação em massa ou Recuperação padrão.
Observação: as operações em lote do S3 não oferecem suporte ao nível de recuperação Expressa.
- Clique em Próximo.
- Em Configurar opções adicionais, digite o seguinte:
(Opcional) Em Descrição, insira uma descrição.
Em Prioridade, insira um número para a prioridade do trabalho.
Em Gerar relatório de conclusão, mantenha essa opção selecionada.
Em Escopo do relatório de conclusão, clique em Somente tarefas com falha ou Todas as tarefas.
Em Caminho para o destino do relatório de conclusão, insira o caminho para o qual você deseja enviar o relatório.
Em Permissão, selecione Escolher entre os perfis do IAM existentes e, em seguida, selecione o perfil do IAM que tem as permissões necessárias.
- Clique em Próximo.
- Na página Revisar, revise os detalhes do trabalho e clique em Criar trabalho.
- Selecione o trabalho e, em seguida, clique em Confirmar e executar.
- (Opcional) Se você selecionou Gerar relatório de conclusão, revise o relatório após a conclusão do trabalho. É possível encontrar o relatório no Caminho para o destino do relatório de conclusão que você especificou.
Para ver descrições de cada status de trabalho, consulte Status de trabalhos.
Importante: o trabalho Restaurar só inicia a solicitação para restaurar objetos. Depois de iniciar a solicitação, as Operações em lote do S3 relata que o trabalho do objeto foi concluído. Depois que o trabalho de operação em lote restaura os objetos, o Amazon S3 não atualiza o trabalho nem notifica você. No entanto, é possível usar as notificações de eventos do Amazon S3 para receber notificações quando os objetos estiverem disponíveis no Amazon S3.
Para obter mais informações sobre trabalhos que falharam, consulte Monitorar falhas nos trabalhos.
Use um comando personalizado da AWS CLI
Para restaurar dados em massa das classes de armazenamento S3 Glacier, use o seguinte comando personalizado em seu sistema operacional (SO).
Observação: é uma prática recomendada testar os scripts personalizados em um ambiente de não produção antes de usá-los em seu ambiente de produção. Se você tiver muitos objetos, o comando pode expirar. Use o parâmetro Prefixo no comando para diminuir o número de objetos.
Em um sistema baseado em Linux ou Unix
É possível executar o comando restore-object da AWS CLI para restaurar seus objetos do Amazon S3 Glacier. No entanto, o comando restore-object só pode restaurar um objeto do S3 Glacier por vez e não oferece suporte à ação de restauração em massa.
Execute o comando list-objects-v2 a seguir para restaurar todos os objetos do S3 Glacier no bucket:
`` aws s3api list-objects-v2 --bucket bucket-name --prefix your-prefix --query 'Contents[?StorageClass==`GLACIER`][Key]' --output text | xargs -I {} sh -c "aws s3api restore-object --bucket bucket-name --key \"{}\" --restore-request Days=5,GlacierJobParameters={Tier=Standard} || true"``
Observação: substitua bucket-name pelo nome do seu bucket do S3, your-prefix pelo caminho da pasta do Amazon S3 e o valor de StorageClass por GLACIER ou DEEP_ARCHIVE.
Em um sistema baseado em Windows
Os seguintes comandos personalizados da AWS CLI geram cobranças adicionais pela lista e pelas solicitações de recuperação de dados. Como a chamada de API list-objects-v2 é uma operação paginada, várias chamadas de API recuperam todo o conjunto de dados dos resultados.
Conclua as etapas a seguir:
-
Execute o comando list-objects-v2 a seguir para listar todos os objetos do S3 Glacier no bucket:
`` aws s3api list-objects-v2 --bucket bucket-name --prefix your-prefix --query "Contents[?StorageClass==`GLACIER`][Key]" --output text > list.txt``
-
Execute o comando restore-object para restaurar os objetos do S3 Glacier:
` for /F "tokens=*" %i in (list.txt) do @aws s3api restore-object --bucket bucket-name --key "%i" --restore-request Days=5,GlacierJobParameters={Tier=Standard} || true"`
Observação: é possível executar o comando restore-object da AWS CLI para restaurar seus objetos do Amazon S3 Glacier. No entanto, o comando restore-object só pode restaurar um objeto do S3 Glacier por vez e não oferece suporte à ação de restauração em massa.
Informações relacionadas
Noções básicas sobre as opções de recuperação de arquivos
Executar operações de objetos em massa com o Operações em Lote
Gerenciar trabalhos de operações em lote do S3