Operações em lote de armazenamento

As operações em lote de armazenamento permitem automatizar tarefas em massa, como excluir objetos ou atualizar metadados, em bilhões de objetos em um ambiente sem servidor. Essa automação ajuda a evitar a criação e manutenção de scripts personalizados, especialmente em grandes configurações empresariais com dados distribuídos em milhares de buckets.

Para saber como criar jobs de operação em lote do Storage, consulte Criar e gerenciar jobs de operação em lote do Storage. Para mudanças em objetos individuais, não é necessário criar um job de operações em lote. Em vez disso, consulte guias de tarefas padrão, como excluir objetos ou visualizar e editar metadados de objetos.

Visão geral

Use operações em lote do Storage para gerenciar um grande número de arquivos no seu projeto. Para começar, crie uma configuração de job. A configuração define quais transformações aplicar a objetos específicos. Essas transformações incluem a colocação de retenções de objetos, a exclusão de objetos, a atualização de metadados e contextos de objetos, a regravação de objetos e a correção de controles de acesso.

Ao enviar um job de operação em lote, é possível monitorar o status dele para verificar quando o job aplica todas as transformações especificadas.

Vantagens

Confira a seguir os benefícios das operações em lote do Storage:

  • Escalabilidade: realize transformações em milhões de objetos com um único job de operação em lote do Storage.
  • Execução sem servidor: execute jobs em lote em um ambiente sem servidor, o que elimina a necessidade de gerenciar a infraestrutura.
  • Automação: automatize tarefas complexas e repetitivas para melhorar a eficiência operacional.
  • Tempo de desenvolvimento reduzido: evite criar e manter scripts personalizados complexos.
  • Integração do conjunto de dados do Storage Insights: selecione objetos diretamente especificando condições que correspondam aos campos nos seus conjuntos de dados do Storage Insights. Essa seleção direta elimina a necessidade de montar manualmente um manifesto CSV manifest ou executar consultas para exportar o conjunto de dados do BigQuery.
  • Performance: conclua operações urgentes executando vários jobs em lote simultâneos. Por exemplo, é possível processar até um bilhão de objetos em três horas.
  • Novas tentativas automáticas: tente novamente operações com falha automaticamente.
  • Monitoramento de jobs: acompanhe o progresso em detalhes para monitorar o status e a conclusão de todos os jobs.

Casos de uso

As operações em lote do Storage automatizam e simplificam o gerenciamento de armazenamento em toda a organização. Os cenários comuns a seguir descrevem como elas ajudam a proteger, organizar e gerenciar seus recursos:

  • Ajude a proteger seus dados: gerencie sua postura de segurança em escala. Por exemplo, é possível girar chaves de criptografia em milhões de objetos, aplicar ou remover retenções de objetos para impor a imutabilidade e corrigir listas de controle de acesso (ACLs) em massa para remover o acesso público de leitura a dados particulares.

  • Mantenha a conformidade: ajude a atender às regulamentações de retenção de dados. Use retenções de objetos segmentadas para aplicar conjuntos de regras de retenção, definir cronogramas de expiração específicos e excluir objetos dentro de um período específico para atender às políticas de exclusão.

  • Transforme dados em grande escala: realize atualizações em massa nas propriedades do objeto. Por exemplo, é possível atualizar metadados de objetos personalizados ou fixos e marcar arquivos para sistemas downstream atualizando ou limpando contextos personalizados de objetos.

  • Gerencie os custos de armazenamento: ajude a otimizar seus gastos com o Cloud Storage. Por exemplo, é possível excluir em massa objetos ativos desnecessários, limpar registros desatualizados excluindo permanentemente versões de objetos não atuais e mover objetos do Standard Storage para classes de armazenamento mais frias, como o Archive Storage, em escala.

Configurações do job

Para criar um job de operação em lote do Storage, defina as seguintes configurações de job. As configurações de job são parâmetros que controlam como o job processa objetos.

  • Nome do job: um nome exclusivo para identificar o job de operações em lote de armazenamento. Use esse nome para rastrear, monitorar e referenciar o job. Os nomes de jobs são alfanuméricos, por exemplo, job-01.

  • Descrição do job (opcional): uma breve descrição da finalidade do job. Essa descrição ajuda a entender e documentar o que o job faz. Por exemplo, Deletes all objects in a bucket.

  • Lista de buckets: uma lista separada por vírgulas de um ou mais nomes de buckets que contêm os objetos que você quer processar. É possível especificar até 1.000 buckets de qualquer projeto, desde que cada bucket esteja inscrito em um plano de inteligência de armazenamento.

  • Seleção de objetos: os critérios de seleção que definem quais objetos processar. É possível especificar os critérios usando uma das seguintes opções:

    • Filtros de conjunto de dados: use a Common Expression Language (CEL) para filtrar objetos com base nos campos de metadados no conjunto de dados do Storage Insights. É possível executar jobs em lote em objetos de vários buckets em um projeto. Quando você usa filtros de conjunto de dados para seleção de objetos, as operações em lote do Storage segmentam objetos ativos e atuais no momento do snapshot do conjunto de dados selecionado. Consequentemente, o job inclui apenas objetos que têm um valor NULL para softDeleteTime e timeDeleted no momento do snapshot. Para mais detalhes, consulte Criar um job usando filtros avançados.

    • Manifesto: crie um manifesto e especifique o local dele ao criar o job de operação em lote do Storage. O manifesto é um arquivo CSV enviado ao Cloud de Confiance que contém a lista de objetos a serem processados. Cada linha no manifesto precisa incluir o bucket e o name do objeto. Opcionalmente, é possível especificar a generation do objeto. Se você omitir o valor generation, o job vai processar a versão ativa do objeto.

      O arquivo de manifesto precisa incluir uma linha de cabeçalho com o seguinte formato:

      bucket,name,generation

      Confira a seguir um exemplo do manifesto:

      bucket,name,generation
      bucket_1,object_1,generation_1
      bucket_1,object_2,generation_2
      bucket_2,object_3,generation_3
      

      Também é possível criar um manifesto usando conjuntos de dados do Storage Insights. Para mais detalhes, consulte Criar um manifesto usando conjuntos de dados do Storage Insights.

    • Prefixos de objetos: especifique uma lista de prefixos para filtrar objetos no bucket. O job só processa objetos que correspondam a esses prefixos. Se você deixar a lista de prefixos vazia, o job vai processar todos os objetos no bucket.

  • Tipo de job: as operações em lote de armazenamento oferecem suporte aos seguintes tipos de job, executando um único job por operação em lote.

    • Exclusão de objetos: exclua objetos em um bucket para ajudar a otimizar custos, gerenciar o ciclo de vida dos dados e obedecer às políticas de exclusão de dados.

    • Atualizações de metadados: é possível modificar os seguintes metadados de objetos:

      • Metadados personalizados: é possível atualizar qualquer par de chave-valor definido pelo usuário associado ao objeto.

      • Metadados fixos: é possível atualizar Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type, Custom-Time, e a configuração de retenção. Para modificar retenções de objetos, use o tipo de serviço de atualizações de retenção de objetos.

    • Atualizações de retenção de objetos: é possível ativar ou desativar retenções de objetos. As retenções de objetos impedem que os objetos sejam excluídos ou modificados. Essas retenções são essenciais para a conformidade e a retenção de dados.

    • Atualizações de chaves de criptografia de objetos: é possível gerenciar as chaves de criptografia gerenciadas pelo cliente de um ou mais objetos. Essa capacidade inclui a aplicação ou mudança de chaves de criptografia usando o método de regravação de objetos.

    • Atualizações de contexto de objetos: gerencie os contextos de objetos associados aos objetos. É possível limpar todos os contextos de objetos atuais ou fazer atualizações específicas, como remover chaves ou inserir e atualizar pares de chave-valor.

    • Atualizações de classe de armazenamento de objetos: é possível mudar a classe de armazenamento de objetos em massa para ajudar a otimizar os custos.

    • Atualizações da lista de controle de acesso (ACL) de objetos: é possível corrigir ACLs de objetos para adicionar, atualizar ou remover concessões para entidades como allUsers e allAuthenticatedUsers.

  • Simulação (opcional): use o modo de simulação para evitar configurações incorretas acidentais em grande escala. Uma simulação simula a operação sem realizar transformações. Essa simulação ajuda a validar a configuração do job antes de executar o job real. Os resultados da simulação fornecem uma prévia dos seguintes detalhes antes de executar o job:

    • O número de objetos afetados pelo job.

    • Possíveis erros.

    • O tamanho total dos objetos afetados, se você filtrar por prefixos de objetos.

Preços

Para estimar as cobranças do job ou da simulação, consulte Cloud Storage pricing.

É possível usar uma simulação para validar a configuração sem incorrer em custos de operação, embora a simulação possa gerar custos de listagem de objetos.

Limitações

As operações em lote do Storage têm as seguintes limitações:

  • Os jobs de operação em lote do Storage têm um ciclo de vida máximo de 14 dias. Qualquer job em andamento que não seja concluído em até 14 dias após a criação será cancelado automaticamente.

  • É possível incluir no máximo 1.000 prefixos de objetos em um único job.

  • A execução de mais de 10 jobs simultâneos no mesmo bucket degrada a performance de cada job.

  • É possível executar um único job em lote em até 1.000 buckets em um projeto.

  • Os filtros de bucket e de objeto são limitados a um máximo de 150 caracteres.

  • As operações em lote do Storage selecionam automaticamente o horário do snapshot do conjunto de dados do Storage Insights com base no manifesto global. Essa seleção corresponde a todos os buckets segmentados ao mesmo horário de snapshot para descoberta de objetos. O horário do snapshot global selecionado é retornado na resposta da API. Se o horário do snapshot for mais antigo que dois dias, a criação do job vai falhar. Para informações sobre como resolver essa falha, consulte Resolver problemas de operações em lote do Storage.

  • As operações em lote de armazenamento não são compatíveis com buckets que têm o recurso Pagamentos do solicitante ativado.

  • Quando você usa conjuntos de dados do Storage Insights para seleção de objetos, as operações em lote do Storage segmentam objetos ativos e atuais no momento do snapshot do conjunto de dados selecionado.

A seguir