Os relatórios de inventário ajudam a gerir o armazenamento de objetos em grande escala. É uma alternativa mais rápida e agendada à operação da API Objects: list
. Use relatórios de inventário se quiser validar a migração de grandes contentores sem qualquer impacto no desempenho ou verificar a integridade dos objetos num único contentor.
Os relatórios de inventário contêm informações de metadados sobre os seus objetos, como a classe de armazenamento, o ETag e o tipo de conteúdo do objeto. Estas informações ajudam a analisar os custos de armazenamento, auditar e validar os seus objetos, bem como garantir a segurança e a conformidade dos dados. Pode exportar relatórios de inventário como ficheiros de valores separados por vírgulas (CSV) ou Apache Parquet para os analisar mais detalhadamente com ferramentas como o BigQuery.
Esta página apresenta uma vista geral dos relatórios de inventário. Para ver instruções sobre como usar relatórios de inventário, consulte o artigo Crie e faça a gestão de relatórios de inventário.
Vista geral dos relatórios de inventário
Os relatórios de inventário contêm uma lista de objetos e os respetivos metadados associados para um determinado contentor, também conhecido como o contentor de origem. Para gerar relatórios de inventário, tem de criar primeiro uma configuração de relatório de inventário que defina a frequência com que os relatórios são gerados, os campos de metadados que quer que os relatórios incluam e um contentor para gerar e armazenar os relatórios, também conhecido como contentor de destino.
Quando cria uma configuração de relatório de inventário, é-lhe automaticamente atribuído um identificador único universal (UUID). Este campo não é editável. No entanto, pode editar os seguintes campos de uma configuração de relatório de inventário:
- O nome a apresentar da configuração do relatório de inventário
- Os campos de metadados de objetos incluídos nos relatórios de inventário
- O bucket de destino que armazena os relatórios de inventário
- A programação que determina a frequência com que os relatórios de inventário são gerados
- O formato de ficheiro no qual os relatórios de inventário são gerados (CSV ou Apache Parquet)
Quando elimina uma configuração de relatório de inventário, os novos relatórios de inventário deixam de ser gerados para a configuração, mas os relatórios de inventário existentes permanecem.
Quando usar relatórios de inventário
Os relatórios de inventário são concebidos para uma análise rápida de conjuntos individuais. Pode usá-las para fazer o seguinte:
Apresenta todos os objetos num contentor
Valide o êxito das transferências de dados
Gere relatórios de auditoria para um determinado contentor
Quando não usar relatórios de inventário
A compilação e a análise manuais de relatórios de inventário de vários contentores e projetos podem ser desafiantes, especialmente para análises em grande escala. Para exemplos de utilização, como visibilidade ao nível da organização, análise de segurança ou gestão de custos, pode usar conjuntos de dados do Storage Insights. Os conjuntos de dados do Storage Insights oferecem flexibilidade para configurar um âmbito personalizado ao nível do contentor, da pasta, do projeto ou da organização. Os conjuntos de dados do Storage Insights também fornecem estatísticas, como metadados personalizados e informações de eliminação temporária.
Para conjuntos de dados do Storage Insights, os dados são atualizados diariamente e pode analisá-los com SQL no BigQuery ou com perguntas em linguagem natural com o Gemini.
Use conjuntos de dados das Estatísticas de armazenamento se os seus objetivos forem os seguintes:
- Descoberta de dados entre organizações
- Análise para otimização de custos e gestão do ciclo de vida
- Auditoria de segurança e gestão
- Análise de séries temporais para identificar tendências
Os conjuntos de dados das estatísticas de armazenamento são uma funcionalidade exclusiva disponível apenas através da subscrição do armazenamento inteligente.
Recipientes de origem e destino
O recipiente de origem contém os objetos para os quais quer gerar relatórios de inventário. Também contém a configuração do relatório de inventário. Pode ter até 100 configurações de relatórios de inventário num contentor de origem.
O recipiente de destino armazena os relatórios de inventário gerados. O contentor de destino tem de cumprir os seguintes requisitos:
- Tem de estar na mesma localização que o contentor de origem.
- Tem de estar no mesmo projeto que o contentor de origem.
- Pode ser o mesmo que o contentor de origem.
Quando cria uma configuração de relatório de inventário pela primeira vez, é criado automaticamente um agente de serviço em seu nome. Para criar configurações de relatórios de inventário e escrever relatórios de inventário no contentor de destino, tanto o utilizador como o agente de serviço têm de ter as autorizações de IAM necessárias. Veja as autorizações necessárias para si e para o seu agente de serviço.
Os relatórios de inventário usam os nomes dos contentores de origem e de destino para determinar que contentores usar quando executar tarefas. Se eliminar um bucket de origem ou de destino e, posteriormente, criar um novo bucket com o mesmo nome, os relatórios de inventário executam tarefas com o novo bucket.
Campos de metadados de objetos
Os seguintes campos de metadados podem ser incluídos num relatório de inventário. Os campos de metadados marcados como "Obrigatório" têm de ser incluídos no relatório de inventário.
Campo de metadados | Descrição | Notas |
---|---|---|
projeto | O ID do projeto onde o contentor de origem reside. | Obrigatória |
balde | O nome do contentor de origem. | Obrigatória |
nome | O nome do objeto. | Obrigatória |
localização | A localização do contentor de origem. | Opcional |
tamanho | O tamanho do objeto. | Opcional |
timeCreated | A hora de criação do objeto no formato RFC 3339. | Opcional |
timeDeleted | A hora de eliminação do objeto no formato RFC 3339. Devolvido se e apenas se esta versão do objeto já não for uma versão ativa, mas permanecer no contentor como uma versão não atual. | Opcional |
atualizado | A hora de modificação dos metadados do objeto no formato RFC 3339. | Opcional |
storageClass | A classe de armazenamento do objeto. | Opcional |
etag | HTTP 1.1 Etiqueta de entidade para o objeto. | Opcional |
retentionExpirationTime | A hora mais antiga em que o objeto pode ser eliminado, que depende de qualquer configuração de retenção definida para o objeto e de qualquer política de retenção definida para o contentor que contém o objeto. O valor de
retentionExpirationTime é fornecido no formato
RFC
3339. |
Opcional |
crc32c | A soma de verificação CRC32C, conforme descrito no Apêndice B da RFC 4960, codificada através de base64 na ordem de bytes big-endian. Para mais informações acerca da soma de verificação CRC32C, consulte o artigo Metadados de objetos. | Opcional |
md5Hash | O hash MD5 dos dados, codificado através de base64. Este campo não está presente para objetos compostos. Para mais informações acerca do hash MD5, consulte o artigo Metadados de objetos. | Opcional |
geração | A geração deste objeto de conteúdo. Usado para o controlo de versões de objetos. | Opcional |
metageneration | A versão dos metadados deste objeto nesta geração. Usado para pré-condições e para detetar alterações nos metadados. Um número de metageração só é significativo no contexto de uma geração específica de um objeto específico. | Opcional |
contentType | O Content-Type dos dados do objeto. Se um objeto for armazenado sem um Content-Type, é publicado como application/octet-stream. | Opcional |
contentEncoding | A Content-Encoding dos dados do objeto. | Opcional |
timeStorageClassUpdated | A hora em que a classe de armazenamento do objeto foi alterada pela última vez. Quando o objeto é criado inicialmente, é definido como timeCreated. | Opcional |
Para mais informações sobre os campos de metadados de objetos, consulte o artigo Metadados de objetos.
Fragmentos de relatórios de inventário
Quando um relatório de inventário contém mais de 1 000 000 de objetos, são gerados um ou mais objetos de fragmentação para compor o relatório de inventário. Quando todos os fragmentos de um relatório de inventário são gerados com êxito, é gerado um ficheiro de manifesto no mesmo contentor de destino que os fragmentos.
Ficheiro de manifesto do relatório de inventário
A presença de um ficheiro de manifesto indica que todos os fragmentos que compõem um relatório de inventário foram gerados. O ficheiro do manifesto também fornece os nomes dos objetos de fragmentos do relatório de inventário.
O ficheiro de manifesto segue a convenção de nomenclatura
REPORT_CONFIG_UUID_TARGET_DATETIME_manifest.json
, onde:
REPORT_CONFIG_UUID
é o UUID gerado automaticamente da configuração do relatório de inventário.TARGET_DATETIME
é a data e a hora UTC geradas automaticamente em que um relatório de inventário é gerado.
Um exemplo de nome de ficheiro de manifesto é
fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:00_manifest.json
.
O ficheiro manifest.json
contém os seguintes campos preenchidos automaticamente:
{ "report_config": REPORT_CONFIG_FIELDS, "records_processed": NUMBER_OF_INCLUDED_OBJECTS, "snapshot_time": "SNAPSHOT_TIME, "target_datetime": "TARGET_DATETIME, "shard_count": SHARD_COUNT, "report_shards_file_names": [ SHARD_FILE_NAME ...] }
Onde:
REPORT_CONFIG_FIELDS
inclui campos contidos no recurso ReportConfig.NUMBER_OF_INCLUDED_OBJECTS
é o número de objetos incluídos no relatório de inventário.SNAPSHOT_TIME
é a data/hora UTC gerada automaticamente em que ocorre a captura instantânea de dados. Todos os dados num relatório de inventário são capturados no momento da captura de ecrã.TARGET_DATETIME
é a data/hora UTC gerada automaticamente em que um relatório de inventário é gerado.SHARD_COUNT
é o número total de fragmentos gerados que compõem o relatório de inventário.SHARD_FILE_NAME
é o nome de um fragmento que compõe um relatório de inventário.
Um ficheiro manifest.json
de exemplo tem o seguinte aspeto:
{ "report_config": { "name": "projects/123456789098/locations/us/reportConfigs/fcec5187-afa6-48b0-938a-543d16493dc0", "createTime": "2023-06-08T08:07:53.397366139Z", "updateTime": "2023-06-08T08:07:53.552347723Z", "frequencyOptions": { "frequency": "DAILY", "startDate": { "year": 2023, "month": 6, "day": 9 } "endDate": { "year": 2023, "month": 6, "day": 23 } }, "csvOptions": { "recordSeparator": "\n", "delimiter": "," }, "objectMetadataReportOptions": { "metadataFields": [ "project", "bucket", "name", "location", "updated", "storageClass", ], "storageFilters": { "bucket": "my-test-bucket" }, "storageDestinationOptions": { "bucket": "example-bucket", "destinationPath": "folder/subfolder" } } }, "records_processed": 3993900, "snapshot_time" : "2023-06-06T00:07:27Z", "target_datetime": { "year": 2023, "month": 6, "day": 6 }, "shard_count": 4, "report_shards_file_names": [ "fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:54_0.csv", "fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:54_1.csv", ... ], }
Preços
A utilização de relatórios de inventário está sujeita a preços, que dependem da localização do contentor. Para mais informações sobre os preços dos relatórios de inventário, consulte a secção Preços.
Registo de auditoria
O Cloud Storage cria registos de auditoria quando os relatórios de inventário são gerados no contentor de destino. O Cloud Storage gera registos de auditoria sempre que as configurações de relatórios de inventário são criadas, atualizadas ou eliminadas.
O Cloud Storage não cria registos de auditoria quando uma configuração de relatório de inventário lê os metadados de objetos de um contentor de origem.
Integração com o VPC Service Controls
Pode fornecer uma camada adicional de segurança para recursos de relatórios de inventário através dos VPC Service Controls. Quando usa os VPC Service Controls, adiciona projetos a perímetros de serviço que protegem recursos e serviços de pedidos originados fora do perímetro. Para saber mais acerca do VPC Service Controls e dos perímetros de serviço, consulte os Detalhes e configuração do perímetro de serviço.
Limitação
A ativação da filtragem de IP em contentores do Cloud Storage restringe o acesso dos relatórios de inventário ao contentor, independentemente de usarem um agente de serviço para interagir com o Cloud Storage. Para evitar interrupções do serviço, recomendamos que não use a filtragem de IP em contentores do Cloud Storage se estiver a criar relatórios de inventário para esse contentor.
O que se segue?
Saiba como criar uma configuração de relatório de inventário e começar a gerar relatórios de inventário.