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.update
estorage.objects.get
do 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 do 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-hold
para ativar retenções de objeto padrão baseadas em eventos ou--no-default-event-based-hold
para desativá-las.
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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
Para mais informações, consulte a documentação de referência da API Cloud Storage Go.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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
Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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 a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Crie um arquivo JSON com as informações a seguir:
{ "defaultEventBasedHold": STATE }
Em que STATE é
true
oufalse
.Use
cURL
para chamar a API JSON com uma solicitação dePATCH
bucket: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 do 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 autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage Go.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
APIs REST
API JSON
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com uma solicitação de bucketGET
que inclui ofields
desejado: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 do 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-hold
para ativar uma retenção baseada em eventos no objeto.--no-event-based-hold
para desativar qualquer retenção baseada em eventos no objeto.--temporary-hold
para ativar uma retenção temporária no objeto.--no-temporary-hold
para 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 autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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
Para mais informações, consulte a documentação de referência da API Cloud Storage Go.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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
Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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 a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no 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,temporaryHold
oueventBasedHold
. Saiba mais sobre os tipos de retenção em Retenções de objetos.STATE
precisa sertrue
para colocar a retenção oufalse
para retirar a retenção.
Use
cURL
para chamar a API JSON com uma solicitação de ObjetoPATCH
: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 comopets%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.