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.
Pré-requisitos
Os pré-requisitos podem variar com base na ferramenta usada:
Console
Para concluir este guia usando o Console do Google Cloud, é preciso ter as permissões de IAM adequadas. Se o bucket que você quer acessar existir em um projeto que você não criou, talvez seja necessário que o proprietário do projeto conceda a você um papel que contenha as permissões necessárias.
Para uma lista de permissões necessárias para ações específicas, consulte Permissões do IAM para o Console do Google Cloud.
Para ver a lista de papéis relevantes, consulte Papéis do Cloud Storage. Como alternativa, é possível criar um papel personalizado que tenha permissões mais limitadas.
Linha de comando
Para concluir este guia usando um utilitário de linha de comando, você precisa ter as permissões de IAM adequadas. Se o bucket que você quer acessar existir em um projeto que você não criou, talvez seja necessário que o proprietário do projeto conceda a você um papel que contenha as permissões necessárias.
Para uma lista de permissões necessárias para ações específicas, consulte Permissões do IAM para comandos gsutil.
Para ver a lista de papéis relevantes, consulte Papéis do Cloud Storage. Como alternativa, é possível criar um papel personalizado que tenha permissões mais limitadas.
Amostras de código
Para concluir este guia usando as bibliotecas de cliente do Cloud Storage, é preciso ter as permissões de IAM adequadas. Se o bucket que você quer enviar existir em um projeto criado por outra pessoa, talvez seja necessário que o proprietário do projeto conceda um papel que contenha as permissões necessárias. Salvo indicação em contrário, as solicitações de biblioteca de cliente são feitas por meio da API JSON.
Para uma lista de permissões necessárias para ações específicas, consulte Permissões do IAM para métodos JSON.
Para ver a lista de papéis relevantes, consulte Papéis do Cloud Storage. Como alternativa, é possível criar um papel personalizado que tenha permissões mais limitadas.
APIs REST
API JSON
Para concluir este guia usando a API JSON, é preciso ter as permissões do IAM adequadas. Se o bucket que você quer acessar para streaming existir em um projeto que você não criou, talvez seja necessário que o proprietário do projeto conceda um papel que contenha as permissões necessárias.
Para uma lista de permissões necessárias para ações específicas, consulte Permissões do IAM para métodos JSON.
Para ver a lista de papéis relevantes, consulte Papéis do Cloud Storage. Como alternativa, é possível criar um papel personalizado que tenha permissões mais limitadas.
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 Navegador do Cloud Storage.
Na lista de buckets, clique no nome do bucket 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
gcloud
Use o comando gcloud alpha storage ls --all-versions
:
gcloud alpha 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 ...
gsutil
Use o comando gsutil ls -a
:
gsutil ls -a 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 ...
Amostras de código
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage para C++.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage para C#.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage para Go.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage para Java.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage para Node.js.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage para PHP.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage para Python.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage para Ruby.
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 deLIST
Objeto: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 Cloud. Com o Console do Cloud, só é possível mover, copiar, restaurar ou excluir uma versão arquivada. Essas ações são realizadas na lista do histórico de versões de um objeto.
Linha de comando
gcloud
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.
gsutil
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 tivervo 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 Navegador do Cloud Storage.
Na lista de buckets, clique no nome do bucket que contém o objeto desejado.
A página Detalhes do bucket é aberta, com a guia Objetos selecionada.
Para ver objetos excluídos, clique no botão "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
gcloud
Use o comando gcloud alpha storage cp
:
gcloud alpha 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.
gsutil
Use o comando gsutil cp
:
gsutil 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.
Amostras de código
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage para C++.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage para C#.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage para Go.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage para Java.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage para Node.js.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage para PHP.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage para Python.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage para Ruby.
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 Navegador do Cloud Storage.
Na lista de buckets, clique no nome do bucket 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
na caixa de texto.Clique em Excluir.
Linha de comando
gcloud
Use o comando gcloud alpha storage rm
:
gcloud alpha 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.
gsutil
Use o comando gsutil rm
:
gsutil 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.
Amostras de código
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage para C++.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage para C#.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage para Go.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage para Java.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage para Node.js.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage para PHP.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage para Python.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage para Ruby.
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.