Esta página descreve como usar as 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.updateestorage.objects.getno 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 a autorização OWNER 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-holdpara ativar as retenções de objetos predefinidas baseadas em eventos ou--no-default-event-based-holdpara 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 é
trueoufalse.Use
cURLpara chamar a API JSON com um pedido dePATCHBucket: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
cujo estado 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
cURLpara chamar a API JSON com um pedidoGETBucket que inclua ofieldspretendido:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=defaultEventBasedHold"
Onde
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
Para reter ou lançar um 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-holdpara ativar uma retenção com base no evento no objeto.--no-event-based-holdpara desativar qualquer retenção com base em eventos no objeto.--temporary-holdpara ativar uma suspensão temporária no objeto.--no-temporary-holdpara 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,temporaryHoldoueventBasedHold. Consulte o artigo Retenções de objetos para mais informações sobre os tipos de retenções.STATEétruepara aplicar a retenção oufalsepara a remover.
Use
cURLpara chamar a API JSON com um pedido dePATCHobjeto: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.