Nesta página, descrevemos como listar, acessar e restaurar objetos excluídos de maneira reversível.
Antes de começar
Para concluir as tarefas nesta página, verifique se você tem o papel do IAM de Administrador do Storage
(roles/storage.admin
) no bucket ou no projeto
que contém o bucket. Esse papel predefinido inclui as permissões necessárias para gerenciar e restaurar a exclusão reversível em um bucket.
Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
storage.buckets.get
storage.buckets.update
storage.buckets.list
- Essa permissão é necessária se você planeja usar o console do Google Cloud para executar as instruções desta página.
storage.objects.restore
storage.objects.create
storage.objects.delete
- Essa permissão será necessária se a restauração de um objeto fizer com que um objeto existente seja substituído.
storage.buckets.restore
- Essa permissão é necessária se você quiser restaurar em massa os objetos excluídos de maneira reversível em um bucket.
storage.bucketOperations.*
- Essa permissão é necessária para operações de longa duração.
Para informações sobre como conceder papéis nos buckets, consulte Usar o IAM com buckets. Para informações sobre como conceder papéis em projetos, consulte Gerenciar acesso a projetos.
Listar todos os objetos excluídos de forma reversível em um bucket
É possível listar todos os objetos excluídos de maneira reversível em um bucket.
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome do bucket que contém os objetos excluídos de maneira reversível. A página Detalhes do bucket é aberta, com a guia Objetos selecionada.
Na lista Mostrar, selecione Somente objetos excluídos de forma reversível. Uma lista de objetos excluídos de maneira reversível será exibida.
Linha de comando
Para exibir uma lista de todos os objetos excluídos de maneira reversível em um bucket, use o comando
gcloud storage ls
com as flags --soft-deleted
e --recursive
:
gcloud storage ls gs://BUCKET_NAME --soft-deleted --recursive
Substitua:
BUCKET_NAME
: o nome do bucket Por exemplo,my-bucket
.
APIs REST
API JSON
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Usar
cURL
para chamarAPI JSON com um solicitação para listar objetos que usam o parâmetro de consulta?softDeleted
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?softDeleted=true"
Em que
BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.
Ver todas as versões de um objeto excluídas de maneira reversível
É possível ver todas as versões excluídas de forma reversível de um objeto específico no seu bucket.
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome do bucket que contém o objeto com as versões que você quer ver de maneira reversível. A página Detalhes do bucket é aberta, com a guia Objetos selecionada.
Clique no objeto de que você quer ver todas as versões excluídas de forma reversível. A página Detalhes do objeto é exibida.
Clique na guia Histórico de versões.
Na lista Mostrar, selecione Somente objetos excluídos de forma reversível. Uma lista de todas as versões excluídas de maneira reversível desse objeto é exibida.
Linha de comando
Para exibir uma lista de todas as versões de um objeto em um bucket que foram excluídas de maneira reversível, use o comando gcloud storage ls
:
gcloud storage ls gs://BUCKET_NAME/OBJECT_NAME --soft-deleted
Substitua:
BUCKET_NAME
: o nome do bucket Por exemplo,my-bucket
.OBJECT_NAME
: o nome do objeto que contém todas as versões dele.
APIs REST
API JSON
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Usar
cURL
para chamarAPI JSON com um solicitação para listar objetos que usam o parâmetro de consulta?softDeleted
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?matchGlob=OBJECT_NAME&softDeleted=true"
Substitua:
BUCKET_NAME
: o nome do bucket Por exemplo,my-bucket
.OBJECT_NAME
: o nome do objeto em que você quer ver todas as versões.
Restaurar um objeto excluído de maneira reversível
É possível restaurar uma versão específica de um objeto excluído de maneira reversível no seu bucket.
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome do bucket que contém os objetos excluídos de forma reversível que você quer restaurar. A página Detalhes do bucket é aberta, com a guia Objetos selecionada.
Na lista Mostrar, selecione Somente objetos excluídos de forma reversível.
Navegue até o objeto, que pode estar localizado em uma pasta.
Clique no objeto excluído de maneira reversível. A página Detalhes do objeto é exibida.
Na lista Mostrar, selecione Somente objetos excluídos de forma reversível. Uma lista de todas as versões excluídas de maneira reversível desse objeto é exibida.
Para restaurar uma versão específica de um objeto excluída de forma reversível, clique em Restaurar ao lado dessa versão. O painel da versão do objeto de restauração é aberto.
Clique em Confirm.
Linha de comando
Para restaurar uma versão excluída de forma reversível de um objeto, use
o comando gcloud storage restore
:
gcloud storage restore gs://BUCKET_NAME/OBJECT_NAME#GENERATION_NUMBER
Substitua:
BUCKET_NAME
: o nome do bucket Por exemplo,my-bucket
.OBJECT_NAME
: o nome do objeto para o qual você quer ver todas as versões.GENERATION_NUMBER
: o número de geração do objeto excluído de maneira reversível que você quer restaurar. Se você não especificar o número de geração, a versão mais recente será restaurada. Por exemplo,1560468815691234
.
Para mais opções de restauração de vários objetos em massa, incluindo
a restauração de todas as versões de um objeto com a flag all-versions
, consulte a
referência gcloud storage restore
.
APIs REST
API JSON
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com uma solicitação dePOST
Objeto:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/restore?generation=GENERATION_NUMBER"
Em que:
BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.OBJECT_NAME
é o nome do objeto excluído de maneira reversível que você quer restaurar. Por exemplo,cat.jpeg
.GENERATION_NUMBER
é o número de geração do objeto excluído de maneira reversível que você quer restaurar. Se você não especificar o número de geração, a versão mais recente será restaurada. Por exemplo,1560468815691234
.
Restaure em massa objetos excluídos de maneira reversível em um bucket
Se você quiser restaurar um grande número de objetos ou não souber quais objetos específicos quer restaurar, use a operação de restauração em massa. As operações de restauração em massa ocorrem de maneira assíncrona e podem, em alguns casos, levar uma hora ou mais para começar.
A operação de restauração em massa inicia uma operação de longa duração em um bucket. É possível usar a Google Cloud CLI para receber e listar operações de longa duração para visualizar os detalhes e o status da operação de restauração em massa enquanto ela está em andamento.
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Na lista de buckets, encontre o bucket que contém os objetos que você quer restaurar.
Clique no menu flutuante bucket (more_vert) associado ao bucket e selecione Criar job de restauração.
O painel Criar um job de restauração é aberto.
Na seção Escolher quais objetos excluídos de maneira reversível serão restaurados, selecione o período de exclusão a partir do qual você quer restaurar objetos.
(Opcional) Selecione Filtrar por padrão glob e insira um padrão para restaurar apenas objetos que atendam aos critérios desse padrão.
(Opcional) Ative outros comportamentos de restauração na seção Opções de restauração.
Clique em Criar.
Para acompanhar o progresso da operação de restauração em massa, clique no botão Notificações (notifications) no cabeçalho do console do Google Cloud.
Linha de comando
Para usar a operação de restauração em massa para restaurar todos os objetos em um bucket, use o
comando gcloud storage restore
.
O comando a seguir executa a operação de restauração em massa para restaurar de maneira assíncrona todos os objetos do bucket que foram excluídos durante um período específico:
gcloud storage restore gs://BUCKET_NAME/** \ --async --deleted-after-time=DELETED_AFTER_TIME \ --deleted-before-time=DELETED_BEFORE_TIME
Substitua:
BUCKET_NAME
: o nome do bucket Por exemplo,my-bucket
.DELETED_AFTER_TIME
: um argumento opcional para especificar a data após a qual os objetos são restaurados. Por exemplo,2022-12-01
.DELETED_BEFORE_TIME
: um argumento opcional para especificar a data antes da restauração dos objetos. Por exemplo,2022-12-21
.Se bem-sucedido, o comando retornará o ID da operação de longa duração associada à operação de restauração em massa. É possível ver detalhes sobre a operação de longa duração ou cancelar a operação de longa duração para interromper a operação de restauração em massa antes que ela seja concluída. Para mais informações, consulte Usar operações de longa duração.
APIs REST
API JSON
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com uma solicitação dePOST
Objeto:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/bulkRestore"
Em que
BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.
Se bem-sucedido, o comando retornará o ID da operação de longa duração associada à operação de restauração em massa. É possível ver detalhes sobre a operação de longa duração ou cancelar a operação de longa duração para interromper a operação de restauração em massa antes que ela seja concluída. Para mais informações, consulte Usar operações de longa duração.
Usar operações de longa duração para restauração em massa
A operação de restauração em massa inicia uma operação de longa duração. É possível receber e listar operações de longa duração para visualizar os detalhes e o status de uma operação de restauração em massa ou excluir uma operação de longa duração para cancelar uma operação de restauração em massa enquanto ela está em andamento.
Para instruções sobre como usar operações de longa duração iniciadas de operações no Cloud Storage, como restauração em massa, consulte Usar operações de longa duração.
O exemplo a seguir mostra uma operação de longa duração retornada de uma operação de restauração em massa:
done: false { "kind": "storage@operation", "name": "projects/_/buckets/my-bucket/operations/CiQyODRlMTY0My0wNGExLTQ3MWItOTE2Zi1hZmQ0ZmM4ZDc4MjQQAg", "metadata": { "@type": "type.googleapis.com/google.storage.v2.BulkRestoreObjectsMetadata", "commonMetadata": { "type": "bulk-restore-objects", "createTime": "2023-10-20T21:08:11.289Z", "updateTime": "2023-10-20T21:18:37.583Z", "endTime": "2023-10-20T21:18:37.583Z", "requestedCancellation": false, "progressPercent": -1, }, "allow_overwrite": false, "matchGlobs": ["*"], "succeededCount": "0", "failedCount": "0", "skippedCount": "0", }, "done": true, "response": { "@type": "type.googleapis.com/google.storage.v2.BulkRestoreObjectsResponse" } }
Novas tentativas
As APIs assíncronas de exclusão reversível são idempotentes por padrão. Portanto, você pode repetir com segurança chamadas de API com exclusão reversível com segurança sem se preocupar em modificar recursos acidentalmente.
A seguir
- Saiba mais sobre a exclusão reversível.