Nesta página, você verá como listar, acessar, restaurar e excluir objetos não atuais, que normalmente se aplicam a buckets com o recurso Controle de versões de objetos ativado.
Funções exigidas
Para receber as permissões necessárias para gerenciar objetos não atuais, peça ao administrador para conceder a você o papel do IAM de Usuário do objeto do Storage (roles/storage.objectUser
) no projeto. Esse papel predefinido contém as permissões necessárias para gerenciar objetos não atuais. Para conferir as permissões exatas
necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
Talvez você também consiga receber essas permissões com papéis personalizados.
Para informações sobre como conceder papéis em projetos, consulte Gerenciar acesso a projetos.
Dependendo do caso de uso, serão necessárias permissões adicionais ou papéis alternativos:
Se você planeja usar o console do Google Cloud para executar as tarefas nesta página, também precisará da permissão
storage.buckets.list
, que não está inclusa no papel de Usuário de objetos do Storage (roles/storage.objectUser
). Para receber essa permissão, peça ao administrador para conceder a você o papel de Administrador do Storage (roles/storage.admin
) no projeto.Se o acesso uniforme no nível do bucket estiver desativado para seu bucket, serão necessárias outras permissões nos seguintes cenários:
Se você planeja retornar objetos não atuais com as ACLs deles, também precisará da permissão
storage.objects.getIamPolicy
, que não está incluída no papel Usuário do objeto do Storage (roles/storage.objectUser
). Para receber essa permissão, peça ao administrador para conceder a você o papel de Administrador de objetos do Storage (roles/storage.objectAdmin
) no projeto.Se você planeja renomear ou restaurar objetos não atuais que tenham ACLs, também precisará da permissão
storage.objects.setIamPolicy
, que não está incluída no papel Usuário do objeto do Storage (roles/storage.objectUser
). Para receber essa permissão, peça ao administrador para conceder a você o papel de Administrador de objetos do Storage (roles/storage.objectAdmin
) no projeto.
Listar versões de objetos não atuais
Para listar versões ativas e não atuais de objetos e visualizar osgeneration
números deles:
Console
- No Console do Cloud, acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome daquele que contém o objeto desejado.
A página Detalhes do bucket é aberta, com a guia Objetos selecionada.
Para visualizar objetos não atuais, clique no menu suspenso Mostrar e selecione Objetos ativos e não atuais.
Na lista de objetos, clique no nome do objeto que você quer conferir as versões.
A página Detalhes do objeto é aberta com a guia Objeto ativo selecionada.
Clique na guia Histórico de versões para conferir todas as versões do objeto.
Linha de comando
Use o comando gcloud storage ls --all-versions
:
gcloud storage ls --all-versions gs://BUCKET_NAME
Em que BUCKET_NAME
é o nome do bucket que
contém os objetos. Por exemplo, my-bucket
.
A resposta terá esta aparência:
gs://BUCKET_NAME/OBJECT_NAME1#GENERATION_NUMBER1 gs://BUCKET_NAME/OBJECT_NAME2#GENERATION_NUMBER2 gs://BUCKET_NAME/OBJECT_NAME3#GENERATION_NUMBER3 ...
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage Go.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
APIs REST
API JSON
Ter a CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com uma solicitação Objects: list:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?versions=true"
Em que
BUCKET_NAME
é o nome do bucket que contém os objetos. Por exemplo,my-bucket
.
Versões arquivadas de objetos têm uma propriedade timeDeleted
.
API XML
Ter a CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API XML com uma solicitação deGET
bucket e um parâmetro de string de consultaversions
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?versions&list-type=2"
Em que
BUCKET_NAME
é o nome do bucket que contém os objetos. Por exemplo,my-bucket
.
Há algumas diferenças nos resultados da solicitação GET
quando se usa o parâmetro da consulta versions
e quando ele não é usado.
Especificamente, o Cloud Storage retorna as seguintes informações quando um parâmetro de consulta versions
é incluído na solicitação:
- Um elemento
Version
que contém informações sobre cada objeto. - Um elemento
DeletedTime
que contém a hora em que a versão do objeto foi arquivada (excluída ou substituída). - Um elemento IsLatest que indica se o objeto específico é a versão mais recente.
- Um elemento
NextGenerationMarker
será retornado se a listagem de objetos for uma listagem parcial. Isso ocorre quando você tem muitas versões de objeto em um bucket. Use o valor desse elemento no parâmetro de consultagenerationmarker
das solicitações subsequentes para retomar a partir do último ponto. O parâmetro de consultagenerationmarker
é usado da mesma forma que o parâmetro de consultamarker
para paginar uma listagem de um bucket sem controle de versão.
Acessar versões de objetos não atuais
Para usar a versão arquivada de um objeto ao realizar tarefas como fazer o download de um objeto, visualizar metadados ou atualizar metadados:
Console
O acesso geral a uma versão não atual não está disponível no console do Google Cloud. Com o console do Google Cloud, só é possível mover, copiar, restaurar ou excluir uma versão não atual. Essas ações são realizadas na lista do histórico de versões de um objeto.
Linha de comando
Anexe o número de geração da versão arquivada ao nome do objeto:
OBJECT_NAME#GENERATION_NUMBER
Em que:
OBJECT_NAME
é o nome da versão arquivada. Por exemplo,pets/dog.png
.GENERATION_NUMBER
é o número de geração da versão arquivada. Por exemplo,1560468815691234
.
Usando a string da etapa anterior, continue como normalmente faria para a versão ativa do objeto. Por exemplo, para ver os metadados de uma versão de objeto não atual, use o comando
gcloud storage objects describe
:gcloud storage objects describe gs://my-bucket/pets/dog.png#1560468815691234
APIs REST
API JSON
Anexe o número de geração da versão arquivada ao URI do objeto:
https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?generation=GENERATION_NUMBER
Em que:
BUCKET_NAME
é o nome do bucket que contém a versão arquivada. Por exemplo,my-bucket
.OBJECT_NAME
é o nome codificado por URL da versão arquivada. Por exemplo,pets/dog.png
, codificado em URL comopets%2Fdog.png
.GENERATION_NUMBER
é o número de geração da versão arquivada. Por exemplo,1560468815691234
.
Usando o URI da etapa anterior, continue como faria normalmente para a versão ativa do objeto. Por exemplo, para consultar os metadados de uma versão de objeto não atual, use cURL para chamar a API JSON com Objects: get:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/my-bucket/o/pets/dog.png?generation=1560468815691234"
API XML
Anexe o número de geração da versão arquivada ao URI do objeto:
https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?generation=GENERATION_NUMBER
Em que:
BUCKET_NAME
é o nome do bucket que contém a versão arquivada. Por exemplo,my-bucket
.OBJECT_NAME
é o nome codificado por URL da versão arquivada. Por exemplo,pets/dog.png
, codificado em URL comopets%2Fdog.png
.GENERATION_NUMBER
é o número de geração da versão arquivada. Por exemplo,1560468815691234
.
Usando o URI da etapa anterior, continue como faria normalmente para a versão ativa do objeto. Por exemplo, para visualizar os metadados de uma versão de objeto não atual, use
cURL
para chamar a API XML com umaHEAD
Solicitação de objeto:curl -I GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/my-bucket/pets/dog.png?generation=1560468815691234"
Restaurar versões de objetos não atuais
No Cloud Storage, restaurar uma versão de objeto não atual significa fazer uma cópia dela. Ao fazer isso, a cópia se torna a versão ativa, restaurando efetivamente a versão. Se já houver uma versão ativa e o bucket tiver o recurso de controle de versões de objeto ativado, a restauração da versão não atual fará com que a versão ativa preexistente se torne não atual.
Console
- No Console do Cloud, acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome daquele que contém o objeto desejado.
A página Detalhes do bucket é aberta, com a guia Objetos selecionada.
Para visualizar objetos não atuais, clique no menu suspenso Mostrar e selecione Objetos ativos e não atuais.
Na lista de objetos, clique no nome da versão que você quer restaurar.
A página Detalhes do objeto é aberta com a guia Objeto ativo selecionada.
Clique na guia Histórico de versões.
Clique no botão Restaurar da versão pretendida.
O painel da versão do objeto de restauração é aberto.
Clique em Confirmar.
Linha de comando
Use o comando gcloud storage cp
:
gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME#GENERATION_NUMBER gs://BUCKET_NAME/OBJECT_NAME
Em que:
BUCKET_NAME
é o nome do bucket que contém a versão não atual que você quer restaurar. Por exemplo,my-bucket
.OBJECT_NAME
é o nome da versão não atual que você quer restaurar. Por exemplo,pets/dog.png
.GENERATION_NUMBER
é o número de geração da versão arquivada que você quer restaurar. Por exemplo,1560468815691234
.
Se funcionar, a resposta será parecida com esta:
Operation completed over 1 objects/58.8 KiB.
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage Go.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
APIs REST
API JSON
Ter a CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com uma solicitação dePOST
Object:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Length: 0" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/rewriteTo/b/BUCKET_NAME/o/OBJECT_NAME?sourceGeneration=GENERATION_NUMBER"
Em que:
BUCKET_NAME
é o nome do bucket que contém a versão não atual que você quer restaurar. Por exemplo,my-bucket
.OBJECT_NAME
é o nome codificado por URL da versão arquivada que você quer restaurar. Por exemplo,pets/dog.png
, codificado por URL comopets%2Fdog.png
.GENERATION_NUMBER
é o número de geração da versão arquivada que você quer restaurar. Por exemplo,1560468815691234
.
API XML
Ter a CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API XML com uma solicitação de objetoPUT
:curl -X PUT \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-copy-source: BUCKET_NAME/OBJECT_NAME" \ -H "x-goog-copy-source-generation:GENERATION_NUMBER" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Em que:
BUCKET_NAME
é o nome do bucket que contém a versão não atual que você quer restaurar. Por exemplo,my-bucket
.OBJECT_NAME
é o nome codificado por URL da versão arquivada que você quer restaurar. Por exemplo,pets/dog.png
, codificado por URL comopets%2Fdog.png
.GENERATION_NUMBER
é o número de geração da versão arquivada que você quer restaurar. Por exemplo,1560468815691234
.
Depois de restaurar a versão do objeto, a versão original não atual continuará existindo no bucket. Se você não precisar mais da versão não atual, será possível excluí-la ou configurar o Gerenciamento de ciclo de vida de objetos para removê-la quando as condições especificadas forem atendidas.
Excluir versões de objeto não atuais
Console
- No Console do Cloud, acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome daquele que contém o objeto desejado.
A página Detalhes do bucket é aberta, com a guia Objetos selecionada.
Para visualizar objetos não atuais, clique no menu suspenso Mostrar e selecione Objetos ativos e não atuais.
Navegue até o objeto, que pode estar localizado em uma pasta.
Na lista de objetos, clique no nome do objeto que você quer excluir.
A página Detalhes do objeto é aberta com a guia Objeto ativo selecionada.
Clique na guia Histórico de versões.
Marque a caixa de seleção da versão desejada.
Clique no botão Excluir.
O painel de exclusão de versão será aberto.
Confirme se você quer excluir o objeto digitando
delete
no campo de texto.Clique em Excluir.
Linha de comando
Use o comando gcloud storage rm
:
gcloud storage rm gs://BUCKET_NAME/OBJECT_NAME#GENERATION_NUMBER
Em que:
BUCKET_NAME
é o nome do bucket que contém a versão arquivada que você quer excluir. Por exemplo,my-bucket
.OBJECT_NAME
é o nome da versão arquivada que você quer excluir. Por exemplo,pets/dog.png
.GENERATION_NUMBER
é o número de geração da versão arquivada que você quer excluir. Por exemplo,1560468815691234
.
Se funcionar, a resposta será parecida com esta:
Operation completed over 1 objects.
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage Go.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
APIs REST
API JSON
Ter a CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com uma solicitação deDELETE
Object:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?generation=GENERATION_NUMBER"
Em que:
BUCKET_NAME
é o nome do bucket que contém a versão arquivada que você quer excluir. Por exemplo,my-bucket
.OBJECT_NAME
é o nome codificado por URL da versão arquivada que você quer restaurar. Por exemplo,pets/dog.png
, codificado por URL comopets%2Fdog.png
.GENERATION_NUMBER
é o número de geração da versão arquivada que você quer excluir. Por exemplo,1560468815691234
.
API XML
Ter a CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API XML com uma solicitação de objetoDELETE
:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?generation=GENERATION_NUMBER"
Em que:
BUCKET_NAME
é o nome do bucket que contém a versão arquivada que você quer excluir. Por exemplo,my-bucket
.OBJECT_NAME
é o nome codificado por URL da versão arquivada que você quer restaurar. Por exemplo,pets/dog.png
, codificado por URL comopets%2Fdog.png
.GENERATION_NUMBER
é o número de geração da versão arquivada que você quer excluir. Por exemplo,1560468815691234
.
A seguir
- Saiba mais sobre o controle de versão de objetos, incluindo um exemplo detalhado.
- Ative ou desative o Controle de versão de objeto em um bucket.
- Saiba como usar o gerenciamento do ciclo de vida de objetos para gerenciar automaticamente as versões de objetos.