Esta página descreve como listar, aceder e restaurar objetos eliminados temporariamente.
Antes de começar
Para receber as autorizações de que
precisa para listar, aceder e restaurar objetos eliminados temporariamente,
peça ao seu administrador para lhe conceder a
função de administrador do armazenamento (roles/storage.admin
)
do IAM no contentor, na pasta gerida ou no projeto.
Esta função predefinida contém as autorizações necessárias para listar, aceder e restaurar objetos eliminados temporariamente. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
As seguintes autorizações são necessárias para listar, aceder e restaurar objetos eliminados temporariamente:
-
storage.buckets.get
(esta autorização só é necessária para usar a Google Cloud consola para executar as instruções nesta página) -
storage.buckets.list
(esta autorização só é necessária para usar a Google Cloud consola para executar as instruções nesta página) -
storage.objects.get
(esta autorização só é necessária para usar a Google Cloud consola para executar as instruções nesta página) -
storage.objects.list
-
storage.objects.restore
-
storage.objects.create
-
storage.objects.delete
(esta autorização só é necessária para restaurar objetos de uma forma que faça com que os objetos existentes sejam substituídos) -
storage.buckets.restore
(esta autorização só é necessária para restaurar em massa objetos eliminados temporariamente)
Para ver informações sobre a concessão de funções em contentores, consulte o artigo Use o IAM com contentores. Para informações sobre a atribuição de funções em projetos, consulte o artigo Faça a gestão do acesso a projetos.
Para gerir operações de longa duração iniciadas a partir de métodos de eliminação temporária, pode precisar de funções e autorizações adicionais. Consulte as funções necessárias para operações de longa duração para saber mais.
Apresenta todos os objetos eliminados temporariamente num contentor
Use as seguintes instruções para apresentar uma lista de todos os objetos eliminados temporariamente num contentor:
Consola
- Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.
Na lista de contentores, clique no nome do contentor cujos objetos eliminados temporariamente quer ver. A página Detalhes do contentor é aberta com o separador Objetos selecionado.
Na lista Mostrar, selecione Apenas objetos eliminados temporariamente. É apresentada uma lista de objetos eliminados temporariamente.
Linha de comandos
Para apresentar uma lista de todos os objetos eliminados temporariamente num contentor, use o comando
gcloud storage ls
com a flag --soft-deleted
e o
caráter universal **
. Tenha em atenção que pode ter de colocar a expressão com carateres universais entre aspas.
gcloud storage ls gs://BUCKET_NAME/** --soft-deleted
Substitua o seguinte:
BUCKET_NAME
: o nome do segmento. Por exemplo,my-bucket
.
APIs REST
API JSON
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com um pedido para listar objetos que usa 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 contentor relevante. Por exemplo,my-bucket
.
Veja todas as versões eliminadas temporariamente de um objeto
Siga as instruções abaixo para ver todas as versões eliminadas temporariamente de um objeto específico no seu contentor:
Consola
- Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.
Na lista de contentores, clique no nome do contentor que contém o objeto cujas versões eliminadas temporariamente quer ver. A página Detalhes do contentor é aberta com o separador Objetos selecionado.
Clique no objeto cujas versões eliminadas temporariamente quer ver. É apresentada a página Detalhes do objeto.
Clique no separador Histórico de versões.
Na lista Mostrar, selecione Apenas objetos eliminados temporariamente. É apresentada uma lista de todas as versões eliminadas temporariamente desse objeto.
Linha de comandos
Para apresentar uma lista de todas as versões eliminadas temporariamente de um objeto num contentor, use o comando gcloud storage ls
:
gcloud storage ls gs://BUCKET_NAME/OBJECT_NAME --soft-deleted
Substitua o seguinte:
BUCKET_NAME
: o nome do segmento. Por exemplo,my-bucket
.OBJECT_NAME
: o nome do objeto do qual quer ver todas as versões.
APIs REST
API JSON
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com um pedido para listar objetos que usa 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 o seguinte:
BUCKET_NAME
: o nome do segmento. Por exemplo,my-bucket
.OBJECT_NAME
: o nome do objeto para o qual quer ver todas as versões.
Restaure um objeto eliminado temporariamente
Pode restaurar uma versão específica de um objeto eliminado temporariamente no seu contentor. Tenha em atenção que não pode restaurar objetos num contentor eliminado temporariamente. Para restaurar objetos num contentor eliminado temporariamente, primeiro tem de restaurar o contentor eliminado temporariamente.
Siga as instruções que se seguem para restaurar um objeto eliminado temporariamente:
Consola
- Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.
Na lista de contentores, clique no nome do contentor que contém os objetos eliminados temporariamente que quer restaurar. A página Detalhes do contentor é aberta com o separador Objetos selecionado.
Na lista Mostrar, selecione Apenas objetos eliminados temporariamente.
Navegue para o objeto, que pode estar localizado numa pasta.
Clique no objeto eliminado temporariamente. É apresentada a página Detalhes do objeto.
Na lista Mostrar, selecione Apenas objetos eliminados temporariamente. É apresentada uma lista de todas as versões eliminadas temporariamente desse objeto.
Para restaurar uma versão eliminada temporariamente específica de um objeto, clique em Restaurar junto a essa versão do objeto. É aberto o painel de restauro da versão do objeto.
Clique em Confirm.
Linha de comandos
Para restaurar uma versão eliminada temporariamente de um objeto, use o comando gcloud storage restore
:
gcloud storage restore gs://BUCKET_NAME/OBJECT_NAME#GENERATION_NUMBER
Substitua o seguinte:
BUCKET_NAME
: o nome do segmento. Por exemplo,my-bucket
.OBJECT_NAME
: o nome do objeto para o qual quer ver todas as versões.GENERATION_NUMBER
: o número de geração do objeto eliminado temporariamente que quer restaurar. Por exemplo,1560468815691234
. Se não especificar o número de geração, é restaurada a versão mais recente.
Para ver opções adicionais de restauro de vários objetos em massa, incluindo o restauro 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 CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com um pedido 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"
Onde:
BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.OBJECT_NAME
é o nome do objeto eliminado temporariamente que quer restaurar. Por exemplo,cat.jpeg
.GENERATION_NUMBER
é o número de geração do objeto eliminado temporariamente que quer restaurar. Por exemplo,1560468815691234
.
Restaure em massa objetos eliminados temporariamente num contentor
Se quiser restaurar um grande número de objetos ou não souber os objetos específicos que quer restaurar, use uma operação de restauro em massa. Tenha em atenção que as operações de restauro em massa ocorrem de forma assíncrona e, em alguns casos, podem demorar uma hora ou mais a começar.
A operação de restauro em massa inicia uma operação de longa duração num contentor. Pode usar a CLI do Google Cloud para obter e listar operações de longa duração, de modo a poder ver os detalhes e o estado da operação de restauro em massa enquanto está em curso.
Use as instruções seguintes para restaurar em massa objetos eliminados temporariamente num contentor:
Consola
- Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.
Na lista de contentores, encontre o contentor que contém os objetos que quer restaurar.
Clique no menu Adicional do contentor (more_vert) associado ao contentor e selecione Criar tarefa de restauro.
É aberto o painel Criar uma tarefa de restauro.
Na secção Escolha os objetos eliminados temporariamente que quer restaurar, selecione o período de eliminação a partir do qual quer restaurar objetos.
(Opcional) Selecione Filtrar por padrão glob e introduza um padrão glob para restaurar apenas os objetos que cumprem os critérios do padrão glob.
(Opcional) Ative/desative comportamentos de restauro adicionais na secção Opções de restauro.
Clique em Criar.
Pode acompanhar o progresso da operação de restauro em massa clicando no botão Notificações (notifications) no cabeçalho da consola Google Cloud .
Linha de comandos
Para usar a operação de restauro em massa para restaurar todos os objetos num contentor, use o comando gcloud storage restore
.
Por exemplo, o seguinte comando executa uma operação de restauro em massa para restaurar de forma assíncrona todos os objetos do contentor que foram eliminados 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 o seguinte:
BUCKET_NAME
: o nome do segmento. 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 qual os objetos são restaurados. Por exemplo,2022-12-21
.
Para ver opções adicionais que pode usar para filtrar os objetos a restaurar em massa, consulte a referência gcloud storage restore
.
Se tiver êxito, o comando devolve o ID da operação de longa duração associada à operação de restauro em massa. Pode obter os detalhes da operação de longa duração ou cancelar a operação de longa duração para parar a operação de restauro em massa antes de ser concluída. Para mais informações, consulte o artigo Use operações de longa duração.
APIs REST
API JSON
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com um pedido 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 contentor relevante. Por exemplo,my-bucket
.
Se tiver êxito, o comando devolve o ID da operação de longa duração associada à operação de restauro em massa. Pode obter os detalhes da operação de longa duração ou cancelar a operação de longa duração para parar a operação de restauro em massa antes de ser concluída. Para mais informações, consulte o artigo Use operações de longa duração.
Use operações de longa duração para o restauro em massa
A operação de restauro em massa inicia uma operação de longa duração. Pode obter e listar operações de longa duração para ver os detalhes e o estado de uma operação de restauro em massa, ou eliminar uma operação de longa duração para cancelar uma operação de restauro em massa enquanto está em curso.
Para obter instruções sobre como usar operações de longa duração iniciadas a partir de operações no Cloud Storage, como a operação de restauro em massa, consulte o artigo Use operações de longa duração.
O exemplo seguinte mostra uma operação de longa duração devolvida por uma operação de restauro 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" } }
O que se segue?
- Saiba mais sobre a eliminação temporária.