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.
Navegue até o objeto, que pode estar localizado em uma pasta.
Clique no nome do objeto desejado.
A página Detalhes do objeto é aberta com a guia Objeto ativo selecionada.
Clique na guia Histórico de versões.
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
pertinente. 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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
APIs REST
API JSON
- Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth. Para ver instruções, consulte Autenticação de APIs.
Use
cURL
para chamar a API JSON com uma solicitação Objects: list:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?versions=true"
Em que:
OAUTH2_TOKEN
é o token de acesso criado na etapa 1;BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.
Versões arquivadas de objetos têm uma propriedade timeDeleted
.
API XML
- Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth. Para ver instruções, consulte Autenticação de APIs.
Use
cURL
para chamar a API XML com uma solicitação de bucketGET
e um parâmetro de string de consultaversions
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME?versions&list-type=2"
Em que:
OAUTH2_TOKEN
é o token de acesso criado na etapa 1;BUCKET_NAME
é o nome do bucket pertinente. 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
generation
número 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 1, continue como normalmente faria com a versão ativa do objeto.
APIs REST
API JSON
Anexe o
generation
número 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 1, continue como normalmente faria com a versão ativa do objeto.
API XML
Anexe o
generation
número 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 1, continue como normalmente faria com a versão ativa do objeto.
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 botão de alternância Mostrar dados excluídos.
Navegue até o objeto, que pode estar localizado em uma pasta.
Clique no nome do objeto desejado.
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 Confirm.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
APIs REST
API JSON
- Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth. Para ver instruções, consulte Autenticação de APIs.
Use
cURL
para chamar a API JSON com uma solicitação dePOST
Objeto:curl -X POST \ -H "Authorization: Bearer OAUTH2_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:
OAUTH2_TOKEN
é o token de acesso gerado na Etapa 1.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
- Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth. Para ver instruções, consulte Autenticação de APIs.
Use
cURL
para chamar a API XML com uma solicitaçãoPUT
Objeto:curl -X PUT \ -H "Authorization: Bearer OAUTH2_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:
OAUTH2_TOKEN
é o token de acesso gerado na Etapa 1.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.
Navegue até o objeto, que pode estar localizado em uma pasta.
Clique no nome do objeto desejado.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
APIs REST
API JSON
- Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth. Para ver instruções, consulte Autenticação de APIs.
Use
cURL
para chamar a API JSON com uma solicitação deDELETE
Objeto:curl -X DELETE \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?generation=GENERATION_NUMBER"
Em que:
OAUTH2_TOKEN
é o token de acesso gerado na etapa 1;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
- Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth. Para ver instruções, consulte Autenticação de APIs.
Use
cURL
para chamar a API XML com uma solicitaçãoDELETE
Objeto:curl -X DELETE \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?generation=GENERATION_NUMBER"
Em que:
OAUTH2_TOKEN
é o token de acesso gerado na etapa 1;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.