Esta página descreve como usar retenções de objetos, incluindo a colocação de retenções por predefinição em novos objetos e a colocação de retenções em objetos individuais.
Autorizações necessárias
Antes de usar esta funcionalidade no Cloud Storage, tem de ter autorização suficiente para ver e atualizar contentores e objetos no Cloud Storage:
Se for proprietário do projeto que contém o contentor, é provável que tenha as autorizações necessárias.
Se usar o IAM, deve ter as autorizações
storage.buckets.update
,storage.buckets.get
,storage.objects.update
estorage.objects.get
no contentor relevante. Consulte o artigo Usar autorizações de IAM para ver instruções sobre como obter uma função, como Administrador de armazenamento, que tenha estas autorizações.Se usar ACLs, deve ter autorização de PROPRIETÁRIO no contentor relevante e nos objetos no respetivo interior. Consulte o artigo Definir ACLs para ver instruções sobre como o fazer.
Use a propriedade de retenção com base no evento predefinida
As tarefas seguintes mostram como definir e ver a propriedade de retenção predefinida baseada em eventos num contentor. Quando esta propriedade está ativada, os novos objetos adicionados ao contentor recebem automaticamente uma retenção baseada em eventos.
Defina a propriedade de retenção com base no evento predefinida
Para ativar ou desativar a propriedade de retenção predefinida baseada em eventos para um 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 definir a propriedade de retenção predefinida baseada em eventos.
Selecione o separador Proteção junto à parte superior da página.
O estado atual do depósito aparece na secção Opção de retenção predefinida baseada em eventos.
Na secção Opção de suspensão predefinida baseada em eventos, clique no estado atual para o alterar.
O estado é apresentado como Ativado ou Desativado.
Para saber como obter informações detalhadas sobre erros relativos a operações do Cloud Storage falhadas na Google Cloud consola, consulte a secção Resolução de problemas.
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
é--default-event-based-hold
para ativar as retenções de objetos predefinidas baseadas em eventos ou--no-default-event-based-hold
para as desativar.
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 as retenções predefinidas com base em eventos num contentor:
O exemplo seguinte desativa as retenções predefinidas baseadas em eventos 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 as retenções predefinidas com base em eventos num contentor:
O exemplo seguinte desativa as retenções predefinidas baseadas em eventos 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 as retenções predefinidas com base em eventos num contentor:
O exemplo seguinte desativa as retenções predefinidas baseadas em eventos 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 as retenções predefinidas com base em eventos num contentor:
O exemplo seguinte desativa as retenções predefinidas baseadas em eventos 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 as retenções predefinidas com base em eventos num contentor:
O exemplo seguinte desativa as retenções predefinidas baseadas em eventos 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 as retenções predefinidas com base em eventos num contentor:
O exemplo seguinte desativa as retenções predefinidas baseadas em eventos 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 as retenções predefinidas com base em eventos num contentor:
O exemplo seguinte desativa as retenções predefinidas baseadas em eventos 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 as retenções predefinidas com base em eventos num contentor:
O exemplo seguinte desativa as retenções predefinidas baseadas em eventos 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:
{ "defaultEventBasedHold": STATE }
Onde STATE é
true
oufalse
.Use
cURL
para chamar a API JSON com um pedido 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"
Onde:
JSON_FILE_NAME
é o caminho do ficheiro que criou no passo 2.BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.
API XML
Não é possível usar a API XML para trabalhar com retenções de objetos. Em alternativa, use uma das outras ferramentas do Cloud Storage, como a CLI gcloud.
Obtenha o estado de retenção predefinido de um segmento
Para ver se um contentor coloca retenções baseadas em eventos em novos objetos por predefinição:
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 verificar o estado predefinido baseado em eventos.
Selecione o separador Proteção junto à parte superior da página.
O estado aparece na secção Opção de retenção predefinida baseada em eventos.
Para saber como obter informações detalhadas sobre erros relativos a operações do Cloud Storage falhadas na Google Cloud consola, consulte a secção Resolução de problemas.
Linha de comandos
Use o comando gcloud storage buckets describe
com a flag
--format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(default_event_based_hold)"
Onde BUCKET_NAME
é o nome do contentor cuja
status quer ver. Por exemplo, my-bucket
.
Se for bem-sucedido, a resposta é semelhante ao seguinte exemplo:
default_event_based_hold: true
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.
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.
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.
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.
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.
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.
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.
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.
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 que inclua ofields
pretendido: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 contentor relevante. Por exemplo,my-bucket
.Se o contentor tiver uma retenção com base no evento predefinida ativada, a resposta tem o seguinte aspeto:
{ "defaultEventBasedHold": true }
API XML
Não é possível usar a API XML para trabalhar com retenções de objetos. Em alternativa, use uma das outras ferramentas do Cloud Storage, como a CLI gcloud.
Faça a gestão das retenções de objetos individuais
As tarefas seguintes mostram como modificar e ver retenções em objetos individuais.
Coloque ou retire um objeto em espera
Para colocar ou lançar uma retenção num objeto no seu contentor:
Consola
- Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.
Na lista de contentores, clique no nome do contentor que tem os objetos nos quais quer colocar ou remover retenções.
Selecione a caixa de verificação junto aos nomes dos objetos nos quais quer colocar ou remover retenções.
Clique no botão Gerir retenções.
É apresentada a janela Gerir retenções.
Ative/desative as caixas de verificação de cada tipo de retenção conforme pretendido.
Clique em Guardar definições de retenção.
Para saber como obter informações detalhadas sobre erros relativos a operações do Cloud Storage falhadas na Google Cloud consola, consulte a secção Resolução de problemas.
Linha de comandos
Use o comando gcloud storage objects update
com o sinalizador adequado:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME FLAG
Onde:
BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.OBJECT_NAME
é o nome do objeto relevante. Por exemplo,pets/dog.png
.FLAG
é uma das seguintes opções:--event-based-hold
para ativar uma retenção com base no evento no objeto.--no-event-based-hold
para desativar qualquer retenção com base em eventos no objeto.--temporary-hold
para ativar uma suspensão temporária no objeto.--no-temporary-hold
para desativar qualquer retenção temporária no objeto.
Consulte o artigo Retenções de objetos para mais informações sobre os tipos de retenções.
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 define uma retenção com base no evento num objeto:
O exemplo seguinte liberta uma retenção com base no evento num objeto:
O exemplo seguinte define uma retenção temporária num objeto:
O exemplo seguinte liberta uma autorização prévia temporária num objeto:
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 define uma retenção com base no evento num objeto:
O exemplo seguinte liberta uma retenção com base no evento num objeto:
O exemplo seguinte define uma retenção temporária num objeto:
O exemplo seguinte liberta uma autorização prévia temporária num objeto:
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 define uma retenção com base no evento num objeto:
O exemplo seguinte liberta uma retenção com base no evento num objeto:
O exemplo seguinte define uma retenção temporária num objeto:
O exemplo seguinte liberta uma autorização prévia temporária num objeto:
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 define uma retenção com base no evento num objeto:
O exemplo seguinte liberta uma retenção com base no evento num objeto:
O exemplo seguinte define uma retenção temporária num objeto:
O exemplo seguinte liberta uma autorização prévia temporária num objeto:
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 define uma retenção com base no evento num objeto:
O exemplo seguinte liberta uma retenção com base no evento num objeto:
O exemplo seguinte define uma retenção temporária num objeto:
O exemplo seguinte liberta uma autorização prévia temporária num objeto:
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 define uma retenção com base no evento num objeto:
O exemplo seguinte liberta uma retenção com base no evento num objeto:
O exemplo seguinte define uma retenção temporária num objeto:
O exemplo seguinte liberta uma autorização prévia temporária num objeto:
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 define uma retenção com base no evento num objeto:
O exemplo seguinte liberta uma retenção com base no evento num objeto:
O exemplo seguinte define uma retenção temporária num objeto:
O exemplo seguinte liberta uma autorização prévia temporária num objeto:
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 define uma retenção com base no evento num objeto:
O exemplo seguinte liberta uma retenção com base no evento num objeto:
O exemplo seguinte define uma retenção temporária num objeto:
O exemplo seguinte liberta uma autorização prévia temporária num objeto:
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:
{ "HOLD_TYPE": STATE }
Onde:
HOLD_TYPE
é o tipo de retenção que quer definir ou libertar no objeto. Por exemplo,temporaryHold
oueventBasedHold
. Consulte o artigo Retenções de objetos para mais informações sobre os tipos de retenções.STATE
étrue
para aplicar a retenção oufalse
para a remover.
Use
cURL
para chamar a API JSON com um pedido dePATCH
objeto: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"
Onde:
JSON_FILE_NAME
é o caminho do ficheiro que criou no passo 2.BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.OBJECT_NAME
é o nome com codificação URL do objeto relevante. Por exemplo,pets/dog.png
, codificado por URL comopets%2Fdog.png
.
API XML
Não é possível usar a API XML para trabalhar com retenções de objetos. Em alternativa, use uma das outras ferramentas do Cloud Storage, como a CLI gcloud.
Obtenha o estado de retenção de um objeto
Para ver se existem retenções num objeto, siga as instruções gerais para ver os metadados do objeto.
O que se segue?
- Saiba mais sobre as retenções de objetos, incluindo os diferentes tipos de retenções que um objeto pode ter.
- Saiba como usar as políticas de retenção.
- Saiba como usar as condições prévias do pedido para evitar condições de concorrência.