Esta página descreve como ativar, desativar e verificar o estado da aplicação de versões de objetos num contentor. Consulte o artigo Usar objetos com versões para saber como listar, restaurar e eliminar os objetos retidos pela funcionalidade de controlo de versões de objetos.
Funções necessárias
Para receber as autorizações necessárias para definir e gerir a criação de versões de objetos num contentor, peça ao seu administrador para lhe conceder a função do IAM de administrador do armazenamento (roles/storage.admin
) no contentor ou no projeto que contém o contentor. Esta função predefinida contém as autorizações necessárias para definir e gerir o controlo de versões de objetos para um contentor. Para ver as autorizações exatas necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
storage.buckets.get
storage.buckets.update
storage.buckets.list
- Esta autorização só é necessária se planear usar a Google Cloud consola para executar as instruções nesta página.
Também pode conseguir estas autorizações com funções personalizadas.
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 concessão de funções em projetos, consulte o artigo Gerir o acesso a projetos.
Defina o controlo de versões de objetos num contentor
Consola
- Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.
Na lista de contentores, clique no nome do contentor para o qual quer ativar ou desativar a criação de versões de objetos.
Selecione o separador Proteção junto à parte superior da página.
O estado atual do controlo de versões de objetos encontra-se na secção Controlo de versões de objetos.
Na secção Controlo de versões de objetos, clique no estado atual para fazer alterações.
É apresentada a caixa de diálogo Controlo de versões de objetos.
- Se estiver a ativar a criação de versões de objetos e quiser minimizar os custos de armazenamento, selecione a caixa de verificação Adicionar regras de ciclo de vida recomendadas para gerir os custos das versões.
Clique em Confirm.
Linha de comandos
Use o comando gcloud storage buckets update
com a flag adequada:
gcloud storage buckets update gs://BUCKET_NAME FLAG
Onde:
BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.FLAG
é--versioning
para ativar a criação de várias versões de objetos ou--no-versioning
para a desativar.
Se for bem-sucedido, a resposta é semelhante ao seguinte exemplo:
Updating gs://my-bucket/... Completed 1
Bibliotecas cliente
C++
Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte ativa a criação de versões de objetos num contentor:
O exemplo seguinte desativa a criação de versões de objetos num contentor:
C#
Para mais informações, consulte a documentação de referência da API C# do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte ativa a criação de versões de objetos num contentor:
O exemplo seguinte desativa a criação de versões de objetos num contentor:
Go
Para mais informações, consulte a documentação de referência da API Go do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte ativa a criação de versões de objetos num contentor:
O exemplo seguinte desativa a criação de versões de objetos num contentor:
Java
Para mais informações, consulte a documentação de referência da API Java do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte ativa a criação de versões de objetos num contentor:
O exemplo seguinte desativa a criação de versões de objetos num contentor:
Node.js
Para mais informações, consulte a documentação de referência da API Node.js do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte ativa a criação de versões de objetos num contentor:
O exemplo seguinte desativa a criação de versões de objetos num contentor:
PHP
Para mais informações, consulte a documentação de referência da API PHP do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte ativa a criação de versões de objetos num contentor:
O exemplo seguinte desativa a criação de versões de objetos num contentor:
Python
Para mais informações, consulte a documentação de referência da API Python do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte ativa a criação de versões de objetos num contentor:
O exemplo seguinte desativa a criação de versões de objetos num contentor:
Ruby
Para mais informações, consulte a documentação de referência da API Ruby do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte ativa a criação de versões de objetos num contentor:
O exemplo seguinte desativa a criação de versões de objetos num contentor:
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
.Crie um ficheiro JSON que contenha as seguintes informações:
{ "versioning": { "enabled": STATE } }
Onde STATE é
true
oufalse
.Use
cURL
para chamar a API JSON com um pedido dePATCH
contentor:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=versioning"
Onde:
JSON_FILE_NAME
é o caminho para o ficheiro JSON que criou no passo 2.BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.
API XML
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Crie um ficheiro XML que contenha as seguintes informações:
<VersioningConfiguration> <Status>STATE</Status> </VersioningConfiguration>
Onde STATE é
Enabled
ouSuspended
.Use
cURL
para chamar a API XML, com um pedido dePUT
contentor e o parâmetro de string de consultaversioning
:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?versioning"
Onde:
XML_FILE_NAME
é o caminho para o ficheiro XML que criou no passo 2.BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.
Depois de ativar o controlo de versões de objetos, sempre que uma versão de objeto publicada for substituída ou eliminada, essa versão torna-se uma versão não atual.
Verifique se o controlo de versões de objetos está ativado
Para verificar se a criação de versões de objetos está ativada num contentor:
Consola
- Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.
Na lista de contentores, o estado da criação de versões de objetos de cada contentor encontra-se na coluna Proteção.
Se estiver ativada, é apresentado o texto Controlo de versões de objetos.
Linha de comandos
Use o comando gcloud storage buckets describe
com a flag
--format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(versioning_enabled)"
Onde BUCKET_NAME
é o nome do contentor cuja
status quer ver. Por exemplo, my-bucket
.
Se for bem-sucedido e a criação de versões de objetos estiver ativada, a resposta é semelhante ao seguinte exemplo:
versioning: enabled: true
Se for bem-sucedido e a criação de versões de objetos não estiver ativada, a resposta é semelhante ao seguinte exemplo:
null
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 deGET
contentor:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=versioning"
Em que
BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.
Se for bem-sucedido e a criação de versões de objetos estiver ativada, a resposta é semelhante ao seguinte exemplo:
{ "versioning": { "enabled": true } }
Se for bem-sucedido e a criação de versões de objetos não estiver ativada, a resposta é semelhante ao seguinte exemplo:
{}
API XML
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 XML, com um pedido deGET
contentor e o parâmetro de string de consultaversioning
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?versioning"
Em que
BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.
Se for bem-sucedido e a criação de versões de objetos estiver ativada, a resposta é semelhante ao seguinte exemplo:
<VersioningConfiguration>
<Status>Enabled</Status>
</VersioningConfiguration>
Se for bem-sucedido e a criação de versões de objetos não estiver ativada, a resposta é semelhante ao seguinte exemplo:
<VersioningConfiguration/>
O que se segue?
- Saiba mais acerca do controlo de versões de objetos.
- Saiba como trabalhar com objetos não atuais.
- Saiba como usar a gestão do ciclo de vida de objetos para gerir automaticamente as versões de objetos.
- Saiba como usar as condições prévias do pedido para evitar condições de concorrência.