Nesta página, você verá como ativar, desativar e verificar o status do Controle de versões de objeto em um bucket. Consulte Como trabalhar com objetos com controle de versão para saber como listar, restaurar e excluir objetos retidos pelo Controle de versão de objeto.
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.
Exemplos 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.
Definir o controle de versão de objeto em um bucket
Console
- No Console do Cloud, acesse a página Navegador do Cloud Storage.
Na lista de buckets, clique no nome do bucket no qual você quer ativar ou desativar o controle de versões de objeto.
Selecione a guia Proteção na parte superior da página.
O status atual do controle de versões de objeto está na seção Controle de versões de objeto.
Na seção Controle de versões de objeto, clique no status atual para fazer alterações.
A caixa de diálogo Controle de versões de objeto é exibida.
- Se você estiver ativando o controle de versões de objeto e quiser minimizar os custos de armazenamento, marque a caixa de seleção Adicionar regras de ciclo de vida recomendadas para gerenciar custos de versão.
Clique em Confirm.
Linha de comando
Use o comando gsutil versioning set
:
gsutil versioning set STATE gs://BUCKET_NAME
Em que:
STATE
éon
para ativar o controle de versão de objeto ouoff
para desativar o controle de versão de objeto.BUCKET_NAME
é o nome do bucket relevante. Por exemplo,my-bucket
.
Amostras de código
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage para C++.
O exemplo a seguir ativa o controle de versão de objeto em um bucket:
A amostra a seguir mostra como desativar o controle de versão de objeto em um bucket:
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage para C#.
O exemplo a seguir ativa o controle de versão de objeto em um bucket:
A amostra a seguir mostra como desativar o controle de versão de objeto em um bucket:
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage para Go.
O exemplo a seguir ativa o controle de versão de objeto em um bucket:
A amostra a seguir mostra como desativar o controle de versão de objeto em um bucket:
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage para Java.
O exemplo a seguir ativa o controle de versão de objeto em um bucket:
A amostra a seguir mostra como desativar o controle de versão de objeto em um bucket:
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage para Node.js.
O exemplo a seguir ativa o controle de versão de objeto em um bucket:
A amostra a seguir mostra como desativar o controle de versão de objeto em um bucket:
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage para PHP.
O exemplo a seguir ativa o controle de versão de objeto em um bucket:
A amostra a seguir mostra como desativar o controle de versão de objeto em um bucket:
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage para Python.
O exemplo a seguir ativa o controle de versão de objeto em um bucket:
A amostra a seguir mostra como desativar o controle de versão de objeto em um bucket:
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage para Ruby.
O exemplo a seguir ativa o controle de versão de objeto em um bucket:
A amostra a seguir mostra como desativar o controle de versão de objeto em um bucket:
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.
Crie um arquivo JSON com as informações a seguir:
{ "versioning": { "enabled": STATE } }
Em que STATE é
true
oufalse
.Use
cURL
para chamar a API JSON com uma solicitação bucketPATCH
:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=versioning"
Em que:
JSON_FILE_NAME
é o caminho para o arquivo JSON criado na Etapa 2.OAUTH2_TOKEN
é o token de acesso criado na etapa 1;BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.
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.
Crie um arquivo XML que contenha as seguintes informações:
<VersioningConfiguration> <Status>STATE</Status> </VersioningConfiguration>
Em que STATE é
Enabled
ouSuspended
.Use
cURL
para chamar a API XML com uma solicitação de bucketPUT
e um parâmetro de string de consultaversioning
:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME?versioning"
Em que:
XML_FILE_NAME
é o caminho para o arquivo XML criado na Etapa 2.OAUTH2_TOKEN
é o token de acesso criado na etapa 1;BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.
Depois que o controle de versão de objeto é ativado, sempre que uma versão de objeto ativa é substituída ou excluída, ela se torna não atual.
Verificar se o controle de versão de objeto está ativado
Para verificar se o Controle de versão de objeto está ativado em um bucket:
Console
- No Console do Cloud, acesse a página Navegador do Cloud Storage.
Na lista de buckets, o status do controle de versões de objeto de cada bucket está na coluna Proteção.
Se ativado, o texto Controle de versões de objeto é exibido.
Linha de comando
Use o comando gsutil versioning get
:
gsutil versioning get gs://BUCKET_NAME
em que BUCKET_NAME
é o nome do bucket
pertinente. Por exemplo, my-bucket
.
Se o controle de versão de objeto estiver ativado, a resposta será como esta:
gs://my-bucket: Enabled
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 bucketGET
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=versioning"
Em que:
OAUTH2_TOKEN
é o token de acesso criado na etapa 1;BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.
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 consultaversioning
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME?versioning"
Em que:
OAUTH2_TOKEN
é o token de acesso criado na etapa 1;BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.
A seguir
- Saiba mais sobre como controlar versões de objetos.
- Trabalhar com objetos não atuais.
- Saiba como usar o Gerenciamento do ciclo de vida de objetos para gerenciar automaticamente as versões de objetos.