Nesta página, você verá como usar as retenções de objeto, incluindo a colocação de retenções por padrão em novos objetos e a colocação de retenções em objetos individuais.
Permissões necessárias
Antes de usar esse recurso no Cloud Storage, você precisa ter permissão suficiente para visualizar e atualizar buckets e objetos no Cloud Storage:
- Se você é proprietário do projeto que contém o bucket, provavelmente já tem as permissões necessárias. 
- Para usar o IAM, é necessário ter as permissões - storage.buckets.update,- storage.buckets.get,- storage.objects.updatee- storage.objects.getdo bucket pertinente. Consulte Como usar permissões do IAM para instruções sobre como conseguir um papel, como Administrador do Storage, que tenha essas permissões.
- Se você usar ACLs, precisará da permissão PROPRIETÁRIO no bucket em questão e nos objetos dentro dele. Consulte Como configurar ACLs para instruções sobre como fazer isso. 
Ativar a propriedade de retenção baseada em evento padrão
As tarefas a seguir mostram como configurar e visualizar a propriedade de retenção baseada em eventos padrão em um bucket. Quando essa propriedade é ativada, novos objetos adicionados ao bucket recebem automaticamente uma retenção baseada em evento.
Configurar a propriedade de retenção baseada em evento padrão
Para ativar ou desativar a propriedade de retenção baseada em eventos padrão para um bucket, siga estas instruções:
Console
- No console do Google Cloud , acesse a página Buckets do Cloud Storage.
 
- Na lista de buckets, clique no nome daquele em que você quer definir a propriedade de retenção baseada em eventos padrão. 
- Selecione a guia Proteção na parte superior da página. - O status atual do bucket aparece na seção Opção de retenção baseada em evento padrão. 
- Na seção Opção de retenção baseada em evento padrão, clique no status atual para alterá-lo. - O status aparece como Ativado ou Desativado. 
Para saber como acessar informações detalhadas de erro sobre operações do Cloud Storage com falha no console Google Cloud , consulte Solução de problemas.
Linha de comando
Use o comando gcloud storage buckets update com a flag apropriada:
gcloud storage buckets update gs://BUCKET_NAME FLAG
Em que:
- BUCKET_NAMEé o nome do bucket pertinente. Por exemplo,- my-bucket.
- FLAGé- --default-event-based-holdpara ativar retenções de objeto padrão baseadas em eventos ou- --no-default-event-based-holdpara desativá-las.
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
O exemplo a seguir ativa retenções padrão baseadas em eventos em um bucket:
O exemplo a seguir desativa as retenções padrão baseadas em eventos em um bucket:
C#
Saiba mais na documentação de referência C# da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
O exemplo a seguir ativa retenções padrão baseadas em eventos em um bucket:
O exemplo a seguir desativa as retenções padrão baseadas em eventos em um bucket:
Go
Saiba mais na documentação de referência Go da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
O exemplo a seguir ativa retenções padrão baseadas em eventos em um bucket:
O exemplo a seguir desativa as retenções padrão baseadas em eventos em um bucket:
Java
Saiba mais na documentação de referência Java da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
O exemplo a seguir ativa retenções padrão baseadas em eventos em um bucket:
O exemplo a seguir desativa as retenções padrão baseadas em eventos em um bucket:
Node.js
Saiba mais na documentação de referência Node.js da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
O exemplo a seguir ativa retenções padrão baseadas em eventos em um bucket:
O exemplo a seguir desativa as retenções padrão baseadas em eventos em um bucket:
PHP
Saiba mais na documentação de referência PHP da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
O exemplo a seguir ativa retenções padrão baseadas em eventos em um bucket:
O exemplo a seguir desativa as retenções padrão baseadas em eventos em um bucket:
Python
Saiba mais na documentação de referência Python da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
O exemplo a seguir ativa retenções padrão baseadas em eventos em um bucket:
O exemplo a seguir desativa as retenções padrão baseadas em eventos em um bucket:
Ruby
Saiba mais na documentação de referência Ruby da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
O exemplo a seguir ativa retenções padrão baseadas em eventos em um bucket:
O exemplo a seguir desativa as retenções padrão baseadas em eventos em um bucket:
APIs REST
API JSON
- Ter CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho - Authorization.
- Crie um arquivo JSON com as informações a seguir: - { "defaultEventBasedHold": STATE } - Em que STATE é - trueou- false.
- Use - cURLpara chamar a API JSON com uma solicitação de bucket- PATCH:- 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=defaultEventBasedHold" - Em que: - JSON_FILE_NAMEé o caminho para o arquivo criado na Etapa 2.
- BUCKET_NAMEé o nome do bucket pertinente. Por exemplo,- my-bucket.
 
API XML
A API XML não pode ser usada para trabalhar com retenções de objeto. Use uma das outras ferramentas do Cloud Storage, como a CLI gcloud, em vez disso.
Conseguir o status de retenção padrão de um bucket
Para ver se um bucket coloca as retenções baseadas em eventos em novos objetos por padrão:
Console
- No console do Google Cloud , acesse a página Buckets do Cloud Storage.
 
- Na lista de buckets, clique no nome daquele em que você quer verificar o status padrão baseado em eventos. 
- Selecione a guia Proteção na parte superior da página. 
- O status aparece na seção Opção de retenção baseada em evento padrão. 
Para saber como acessar informações detalhadas de erro sobre operações do Cloud Storage com falha no console Google Cloud , consulte Solução de problemas.
Linha de comando
Use o comando gcloud storage buckets describe com a flag --format:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(default_event_based_hold)"
Em que BUCKET_NAME é o nome do bucket
com o status que você quer visualizar. Por exemplo, my-bucket.
Se a operação for bem-sucedida, a resposta será semelhante a esta:
default_event_based_hold: true
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
C#
Saiba mais na documentação de referência C# da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Go
Saiba mais na documentação de referência Go da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Java
Saiba mais na documentação de referência Java da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Node.js
Saiba mais na documentação de referência Node.js da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
PHP
Saiba mais na documentação de referência PHP da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Python
Saiba mais na documentação de referência Python da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Ruby
Saiba mais na documentação de referência Ruby da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
APIs REST
API JSON
- Ter CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho - Authorization.
- Use - cURLpara chamar a API JSON com uma solicitação de bucket- GETque inclui o- fieldsdesejado:- curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=defaultEventBasedHold" - Em que - BUCKET_NAMEé o nome do bucket pertinente. Por exemplo,- my-bucket.- Se o bucket tiver uma retenção baseada em evento padrão ativada para ele, a resposta será semelhante ao exemplo a seguir: - { "defaultEventBasedHold": true }
API XML
A API XML não pode ser usada para trabalhar com retenções de objeto. Use uma das outras ferramentas do Cloud Storage, como a CLI gcloud, em vez disso.
Gerenciar retenções de objetos individuais
As tarefas a seguir mostram como alterar e visualizar retenções em objetos individuais.
Colocar ou remover a retenção em um objeto
Para colocar ou remover a retenção em um objeto no bucket:
Console
- No console do Google Cloud , acesse a página Buckets do Cloud Storage.
 
- Na lista de buckets, clique no nome daquele que contém os objetos em que você quer colocar ou remover retenções. 
- Marque a caixa de seleção ao lado dos nomes dos objetos em que você quer colocar ou remover retenções. 
- Clique no botão Gerenciar retenções. - A janela Gerenciar retenções é exibida. 
- Marque as caixas de seleção para cada tipo de retenção que você quer. 
- Clique em Salvar configurações de retenção. 
Para saber como acessar informações detalhadas de erro sobre operações do Cloud Storage com falha no console Google Cloud , consulte Solução de problemas.
Linha de comando
Use o comando gcloud storage objects update com a
sinalização apropriada:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME FLAG
Em que:
- BUCKET_NAMEé o nome do bucket pertinente. Por exemplo,- my-bucket.
- OBJECT_NAMEé o nome do objeto relevante. Por exemplo,- pets/dog.png.
- FLAGé um destes:- --event-based-holdpara ativar uma retenção baseada em eventos no objeto.
- --no-event-based-holdpara desativar qualquer retenção baseada em eventos no objeto.
- --temporary-holdpara ativar uma retenção temporária no objeto.
- --no-temporary-holdpara desativar qualquer retenção temporária no objeto.
 
Saiba mais sobre os tipos de retenção em Retenções de objetos.
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
A amostra a seguir define uma retenção baseada em evento em um objeto:
A amostra a seguir libera uma retenção baseada em evento em um objeto:
A amostra a seguir define uma retenção temporária em um objeto:
O exemplo a seguir libera uma retenção temporária em um objeto:
C#
Saiba mais na documentação de referência C# da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
A amostra a seguir define uma retenção baseada em evento em um objeto:
A amostra a seguir libera uma retenção baseada em evento em um objeto:
A amostra a seguir define uma retenção temporária em um objeto:
O exemplo a seguir libera uma retenção temporária em um objeto:
Go
Saiba mais na documentação de referência Go da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
A amostra a seguir define uma retenção baseada em evento em um objeto:
A amostra a seguir libera uma retenção baseada em evento em um objeto:
A amostra a seguir define uma retenção temporária em um objeto:
O exemplo a seguir libera uma retenção temporária em um objeto:
Java
Saiba mais na documentação de referência Java da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
A amostra a seguir define uma retenção baseada em evento em um objeto:
A amostra a seguir libera uma retenção baseada em evento em um objeto:
A amostra a seguir define uma retenção temporária em um objeto:
O exemplo a seguir libera uma retenção temporária em um objeto:
Node.js
Saiba mais na documentação de referência Node.js da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
A amostra a seguir define uma retenção baseada em evento em um objeto:
A amostra a seguir libera uma retenção baseada em evento em um objeto:
A amostra a seguir define uma retenção temporária em um objeto:
O exemplo a seguir libera uma retenção temporária em um objeto:
PHP
Saiba mais na documentação de referência PHP da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
A amostra a seguir define uma retenção baseada em evento em um objeto:
A amostra a seguir libera uma retenção baseada em evento em um objeto:
A amostra a seguir define uma retenção temporária em um objeto:
O exemplo a seguir libera uma retenção temporária em um objeto:
Python
Saiba mais na documentação de referência Python da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
A amostra a seguir define uma retenção baseada em evento em um objeto:
A amostra a seguir libera uma retenção baseada em evento em um objeto:
A amostra a seguir define uma retenção temporária em um objeto:
O exemplo a seguir libera uma retenção temporária em um objeto:
Ruby
Saiba mais na documentação de referência Ruby da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
A amostra a seguir define uma retenção baseada em evento em um objeto:
A amostra a seguir libera uma retenção baseada em evento em um objeto:
A amostra a seguir define uma retenção temporária em um objeto:
O exemplo a seguir libera uma retenção temporária em um objeto:
APIs REST
API JSON
- Ter CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho - Authorization.
- Crie um arquivo JSON com as informações a seguir: - { "HOLD_TYPE": STATE } - Em que: - HOLD_TYPEé o tipo de retenção que você quer colocar ou retirar no objeto. Por exemplo,- temporaryHoldou- eventBasedHold. Consulte Retenções de objetos para saber mais sobre os tipos de retenção.
- STATEprecisa ser- truepara colocar a retenção ou- falsepara retirar a retenção.
 
- Use - cURLpara chamar a API JSON com uma solicitação de Objeto- PATCH:- 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/o/OBJECT_NAME" - Em que: - JSON_FILE_NAMEé o caminho para o arquivo criado na Etapa 2.
- BUCKET_NAMEé o nome do bucket pertinente. Por exemplo,- my-bucket.
- OBJECT_NAMEé o nome codificado por URL do objeto relevante. Por exemplo,- pets/dog.png, codificado em URL como- pets%2Fdog.png.
 
API XML
A API XML não pode ser usada para trabalhar com retenções de objeto. Use uma das outras ferramentas do Cloud Storage, como a CLI gcloud, em vez disso.
Conseguir o status de retenção de um objeto
Para ver quais retenções existem em um objeto, se houver alguma, siga as instruções gerais sobre Como ver metadados de objeto.
A seguir
- Saiba mais sobre as retenções de objetos, incluindo os diferentes tipos de retenções que um objeto pode ter.
- Aprenda a usar as políticas de retenção.
- Saiba como usar pré-condições de solicitação para evitar disputas.