Esta página descreve como ativar, desativar e verificar o estado da criaçã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 de administrador do armazenamento
(roles/storage.admin) do IAM 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.getstorage.buckets.updatestorage.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 obter informações sobre como conceder funções em contentores, consulte o artigo Defina e faça a gestão de políticas de IAM em 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é--versioningpara ativar a criação de várias versões de objetos ou--no-versioningpara 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 o controlo 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 o controlo 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 é
trueoufalse.Use
cURLpara chamar a API JSON com um pedido dePATCHcontentor: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 é
EnabledouSuspended.Use
cURLpara chamar a API XML, com um pedido dePUTcontentor 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:
nullAPIs 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
cURLpara chamar a API JSON com um pedido deGETcontentor: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
cURLpara chamar a API XML, com um pedido deGETcontentor 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.