A funcionalidade Conjuntos de dados de estatísticas de armazenamento ajuda a compreender, organizar e gerir os seus dados em grande escala. Pode escolher uma organização ou um ou vários projetos ou pastas que contenham contentores e objetos para os quais quer atualizar os metadados. É disponibilizado um índice de metadados consultável para os contentores e os objetos incluídos nesses projetos como um conjunto de dados associado do BigQuery.
Se quiser obter estatísticas para os seus recursos do Cloud Storage que são exportados para o BigQuery, use os conjuntos de dados do Storage Insights. Estas estatísticas podem ajudar na exploração de dados, na otimização de custos, na aplicação de segurança e na implementação da governação. Os conjuntos de dados do Storage Insights são uma funcionalidade exclusiva disponível apenas através da subscrição do Storage Intelligence.
Vista geral
Um conjunto de dados do Storage Insights é um instantâneo contínuo dos metadados de todos os contentores e objetos num ou vários projetos de origem especificados numa organização. As informações fornecidas pelos conjuntos de dados permitem-lhe compreender melhor e auditar rotineiramente os seus dados do Cloud Storage.
Para criar um conjunto de dados, primeiro cria uma configuração do conjunto de dados num projeto. Pode escolher uma organização ou um ou vários projetos ou pastas que contenham contentores e objetos para os quais quer ver os metadados. A configuração do conjunto de dados gera conjuntos de dados diariamente. As configurações e os conjuntos de dados são recursos armazenados no Cloud Storage.
Para ver um conjunto de dados, primeiro tem de associar o conjunto de dados ao BigQuery.
Propriedades de configuração do conjunto de dados
Quando cria uma configuração do conjunto de dados, define estas propriedades do conjunto de dados. Pode demorar até 48 horas para ver os primeiros dados preenchidos como um conjunto de dados associado no BigQuery depois de configurar o conjunto de dados. Todos os objetos ou contentores adicionados recentemente são incluídos na próxima captura instantânea diária.
Nome: um nome usado para fazer referência ao conjunto de dados. Os nomes são usados como o identificador das configurações do conjunto de dados e não podem ser alterados após a criação da configuração. O nome contém até 128 carateres com letras, números e sublinhados. O nome tem de começar com uma letra.
Descrição (opcional): uma descrição do conjunto de dados. Pode editar a descrição em qualquer altura.
Âmbito do conjunto de dados: um campo obrigatório que especifica uma organização, projetos ou pastas que contêm os contentores e os objetos para os quais quer metadados. Pode especificar projetos ou pastas individualmente ou como um ficheiro CSV, com cada projeto ou número de pasta numa linha separada. Pode especificar até 10 000 projetos ou pastas numa configuração de conjunto de dados. Os conjuntos de dados estão configurados para o âmbito do conjunto de dados especificado. Só é possível especificar um âmbito do conjunto de dados para cada configuração do conjunto de dados. Pode atualizar o âmbito do conjunto de dados quando editar a configuração do conjunto de dados.
Filtros de grupos (opcional): filtros usados para incluir e excluir grupos específicos do conjunto de dados por nome do grupo ou por regiões.
Período de retenção: o número de dias durante os quais o conjunto de dados capta e retém dados, incluindo a data de criação do conjunto de dados. Os conjuntos de dados são atualizados com metadados a cada 24 horas e podem reter dados durante um máximo de 90 dias. Os dados capturados fora do período de retenção são eliminados automaticamente. Por exemplo, suponha que tem um conjunto de dados criado a 1 de outubro de 2023 com um período de retenção definido como 30. A 30 de outubro, o conjunto de dados vai refletir os últimos 30 dias de dados, de 1 a 30 de outubro. A 31 de outubro, o conjunto de dados vai refletir os dados de 2 a 31 de outubro. Pode modificar o período de retenção em qualquer altura.
Localização: uma localização para armazenar o conjunto de dados e os respetivos dados. Por exemplo,
us-central1
. A localização tem de ser suportada pelo BigQuery. Recomendamos que selecione a localização das suas tabelas do BigQuery, se tiver alguma.Tipo de agente do serviço: um agente do serviço com âmbito de configuração ou um agente do serviço com âmbito de projeto.
A criação de uma configuração do conjunto de dados aprovisiona um agente de serviço para si. Para ler e escrever conjuntos de dados, o agente do serviço tem de ter as autorizações necessárias.
Um agente de serviço ao nível do projeto pode aceder e escrever em conjuntos de dados gerados a partir de todas as configurações de conjuntos de dados no projeto. Por exemplo, se tiver várias configurações de conjuntos de dados num projeto, só tem de conceder as autorizações necessárias ao agente de serviço com âmbito do projeto uma vez para que possa ler e escrever conjuntos de dados para todas as configurações de conjuntos de dados no projeto. Quando uma configuração do conjunto de dados é eliminada, o agente do serviço ao nível do projeto não é eliminado.
Um agente de serviço com âmbito de configuração só pode aceder e escrever no conjunto de dados gerado pela configuração do conjunto de dados específico. Isto significa que, se tiver várias configurações de conjuntos de dados, tem de conceder as autorizações necessárias a cada agente de serviço com âmbito de configuração. Quando uma configuração do conjunto de dados é eliminada, o agente do serviço com âmbito de configuração é eliminado.
Associe o conjunto de dados ao BigQuery depois de criar uma configuração do conjunto de dados. A associação de um conjunto de dados ao BigQuery cria um conjunto de dados associado no BigQuery para consultas. Pode associar ou desassociar o conjunto de dados em qualquer altura.
Para mais informações sobre as propriedades que define quando cria ou atualiza uma configuração do conjunto de dados, consulte o recurso DatasetConfigs na documentação da API JSON.
Localizações suportadas
As seguintes localizações do BigQuery são suportadas para a criação de conjuntos de dados associados:
EU
US
asia-southeast1
europe-west1
us-central1
us-east1
us-east4
Esquema do conjunto de dados de metadados
As secções seguintes descrevem os campos de metadados incluídos nos conjuntos de dados. Para mais informações acerca dos modos de coluna do BigQuery, consulte Modos. Os modos de coluna determinam como o BigQuery armazena e consulta os dados.
Metadados do contentor
A tabela seguinte descreve os campos de metadados do contentor:
Campo de metadados | Modo | Tipo | Descrição |
---|---|---|---|
snapshotTime |
NULLABLE |
TIMESTAMP |
O campo snapshotTime armazena a hora da atualização da imagem instantânea dos metadados do depósito no formato RFC 3339. |
name |
NULLABLE |
STRING |
O nome do contentor. |
location |
NULLABLE |
STRING |
A localização do contentor. Os dados de objetos para objetos no contentor residem no armazenamento físico nesta localização. |
project |
NULLABLE |
INTEGER |
O número do projeto ao qual o contentor pertence. |
storageClass |
NULLABLE |
STRING |
A classe de armazenamento predefinida do contentor. |
public |
NULLABLE |
RECORD |
Descontinuado. Este campo indica se um contentor estava acessível publicamente. Em alternativa, use iamConfiguration. |
public.bucketPolicyOnly |
NULLABLE |
BOOLEAN |
Descontinuado. Este campo, que faz parte do registo public , indica se o acesso uniforme ao nível do contentor foi ativado, o que impede a concessão de acesso através de ACLs ao nível do objeto. |
public.publicAccessPrevention |
NULLABLE |
STRING |
Descontinuado. Este campo, que faz parte do registo public , indica se o acesso público ao contentor foi impedido. |
autoclass |
NULLABLE |
RECORD |
A configuração da classe automática do contentor, que, quando ativada, controla a classe de armazenamento dos objetos com base na forma e no momento em que os objetos são acedidos. |
autoclass.enabled |
NULLABLE |
BOOLEAN |
Indica se a classe automática está ou não ativada. |
autoclass.toggleTime |
NULLABLE |
TIMESTAMP |
A hora em que a classificação automática foi ativada ou desativada pela última vez para este contentor, no formato RFC 3339. |
versioning |
NULLABLE |
BOOLEAN |
Indica se o contentor tem ou não o controlo de versões ativado. Para mais informações, consulte o artigo Controlo de versões de objetos. |
lifecycle |
NULLABLE |
BOOLEAN |
Se o contentor tem ou não uma configuração do ciclo de vida. Consulte a gestão do ciclo de vida para mais informações. |
metageneration |
NULLABLE |
INTEGER |
A geração de metadados deste contentor. |
timeCreated |
NULLABLE |
TIMESTAMP |
A hora de criação do contentor no formato RFC 3339. |
tags |
NULLABLE |
RECORD |
Descontinuado. Este campo contém pares de chave-valor definidos pelo utilizador associados ao contentor. Em alternativa, use etiquetas de recursos. |
tags.lastUpdatedTime |
NULLABLE |
TIMESTAMP |
Descontinuado. Este campo, que faz parte do registo tags , indica a última vez que as etiquetas foram atualizadas. |
tags.tagMap |
REPEATED |
RECORD |
Descontinuado. Este campo, que faz parte do registo tags , contém o mapa das chaves e dos valores das etiquetas. |
tags.tagMap.key |
NULLABLE |
STRING |
Descontinuado. Este campo, que faz parte do registo tags.tagMap , representa a chave de uma etiqueta. |
tags.tagMap.value |
NULLABLE |
STRING |
Descontinuado. Este campo, que faz parte do registo tags.tagMap , representa o valor de uma etiqueta. |
labels |
REPEATED |
RECORD |
Etiquetas de contentores fornecidas pelo utilizador, em pares de chave-valor. |
labels.key |
NULLABLE |
STRING |
Uma entrada de etiqueta individual. |
labels.value |
NULLABLE |
STRING |
O valor da etiqueta. |
softDeletePolicy |
NULLABLE |
OBJECT |
A política de eliminação reversível do contentor, que define o período durante o qual os objetos no contentor são retidos num estado de eliminação reversível após a eliminação. Não é possível eliminar permanentemente objetos num estado de eliminação temporária, e estes são restauráveis até à respetiva hardDeleteTime . |
softDeletePolicy.effectiveTime |
NULLABLE |
DATETIME |
A data/hora em que a política de eliminação reversível entra em vigor, no formato RFC 3339.
|
softDeletePolicy.retentionDurationSeconds |
NULLABLE |
LONG |
O período durante o qual um objeto eliminado temporariamente é retido e não pode ser eliminado permanentemente, em segundos. O valor tem de ser igual ou superior a 604800 (7 dias) e inferior a 7776000 (90 dias). O valor também pode ser definido como 0 , o que desativa a política de eliminação suave. |
iamConfiguration |
NULLABLE |
RECORD |
A configuração da IAM para um contentor. |
iamConfiguration.uniformBucketLevelAccess |
NULLABLE |
RECORD |
A configuração de acesso uniforme ao nível do contentor do contentor. |
iamConfiguration.uniformBucketLevelAccess.enabled |
NULLABLE |
BOOLEAN |
Se o contentor usa ou não o acesso uniforme ao nível do contentor. |
iamConfiguration.publicAccessPrevention |
NULLABLE |
STRING |
O estado de prevenção de acesso público do contentor, que é "inherited" ou "enforced" . |
resourceTags |
REPEATED |
RECORD |
As etiquetas do contentor. Para mais informações, consulte o artigo API Cloud Resource Manager. |
resourceTags.key |
NULLABLE |
STRING |
A chave da etiqueta do recurso. |
resourceTags.value |
NULLABLE |
STRING |
O valor da etiqueta do recurso. |
totalSize |
NULLABLE |
INTEGER |
O tamanho do contentor em bytes. |
objectCount |
NULLABLE |
INTEGER |
Número total de objetos no contentor. |
Metadados do objeto
A tabela seguinte descreve os campos de metadados de objetos:
Campo de metadados | Modo | Tipo | Descrição |
---|---|---|---|
snapshotTime |
NULLABLE |
TIMESTAMP |
O campo snapshotTime armazena a hora da atualização do instantâneo dos metadados do objeto no formato RFC 3339. |
bucket |
NULLABLE |
STRING |
O nome do contentor que contém este objeto. |
location |
NULLABLE |
STRING |
A localização do contentor. Os dados de objetos para objetos no contentor residem no armazenamento físico nesta localização. |
componentCount |
NULLABLE |
INTEGER |
Devolvido apenas para objetos compostos. Número de objetos não compostos no objeto composto. componentCount inclui objetos não compostos que faziam parte de quaisquer objetos compostos usados para compor o objeto atual. |
contentDisposition |
NULLABLE |
STRING |
Content-Disposition dos dados do objeto. |
contentEncoding |
NULLABLE |
STRING |
Content-Encoding dos dados do objeto. |
contentLanguage |
NULLABLE |
STRING |
Content-Language dos dados do objeto. |
contentType |
NULLABLE |
STRING |
Content-Type dos dados do objeto. |
crc32c |
NULLABLE |
INTEGER |
Soma de verificação CRC32c, conforme descrito no RFC 4960, Apêndice B; codificada com base64 na ordem de bytes big-endian. |
customTime |
NULLABLE |
TIMESTAMP |
Uma data/hora especificada pelo utilizador para o objeto no formato RFC 3339. |
etag |
NULLABLE |
STRING |
Etiqueta de entidade HTTP 1.1 para o objeto. |
eventBasedHold |
NULLABLE |
BOOLEAN |
Se o objeto está ou não sujeito a uma retenção com base no evento. |
generation |
NULLABLE |
INTEGER |
A geração de conteúdo deste objeto. |
md5Hash |
NULLABLE |
STRING |
Hash MD5 dos dados, codificado através de base64. Este campo não está presente para objetos compostos. |
mediaLink |
NULLABLE |
STRING |
Um URL para transferir os dados do objeto. |
metadata |
REPEATED |
RECORD |
Metadados fornecidos pelos utilizadores, em pares de chave-valor. |
metadata.key |
NULLABLE |
STRING |
Uma entrada de metadados individual. |
metadata.value |
NULLABLE |
STRING |
O valor dos metadados. |
metageneration |
NULLABLE |
INTEGER |
A versão dos metadados para este objeto nesta geração. |
name |
NULLABLE |
STRING |
O nome do objeto. |
selfLink |
NULLABLE |
STRING |
Um URL para este objeto. |
size |
NULLABLE |
INTEGER |
Content-Length dos dados em bytes. |
storageClass |
NULLABLE |
STRING |
Classe de armazenamento do objeto. |
temporaryHold |
NULLABLE |
BOOLEAN |
Indica se o objeto está ou não sujeito a uma retenção temporária. |
timeCreated |
NULLABLE |
TIMESTAMP |
A hora de criação do objeto no formato RFC 3339. |
timeDeleted |
NULLABLE |
TIMESTAMP |
A hora de eliminação do objeto no formato RFC 3339. |
updated |
NULLABLE |
TIMESTAMP |
A hora de modificação dos metadados do objeto no formato RFC 3339. |
timeStorageClassUpdated |
NULLABLE |
TIMESTAMP |
A hora em que a classe de armazenamento do objeto foi alterada pela última vez. |
retentionExpirationTime |
NULLABLE |
TIMESTAMP |
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. |
softDeleteTime |
NULLABLE |
DATETIME |
A hora em que o objeto foi eliminado temporariamente. Só está disponível para objetos em contentores com uma política de eliminação reversível. |
hardDeleteTime |
NULLABLE |
DATETIME |
O momento em que um objeto eliminado temporariamente é eliminado permanentemente e deixa de poder ser restaurado. O valor é a soma do valor de softDeleteTime e do valor de softDeletePolicy.retentionDurationSeconds do grupo. Só está disponível para objetos em contentores com uma política de eliminação reversível. |
project |
NULLABLE |
INTEGER |
O número do projeto ao qual o contentor pertence. |
Resumo dos metadados de objetos e contentores mais recentes
O conjunto de dados associado expõe o resumo mais recente dos metadados do contentor e do objeto através das seguintes vistas dedicadas:
O
bucket_attributes_latest_snapshot_view
fornece os metadados mais recentes para os seus contentores do Cloud Storage. A sua estrutura corresponde ao esquema de metadados de contentores.O
object_attributes_latest_snapshot_view
fornece os metadados mais recentes para os seus objetos do Cloud Storage. A sua estrutura corresponde ao esquema de metadados do objeto.
Metadados do projeto
Os metadados do projeto são expostos como uma vista denominada project_attributes_view
no conjunto de dados associado:
Campo de metadados | Modo | Tipo | Descrição |
---|---|---|---|
snapshotTime |
NULLABLE |
TIMESTAMP |
O campo snapshotTime armazena a hora da atualização do resumo dos metadados do projeto no formato RFC 3339. |
name |
NULLABLE |
STRING |
O nome do projeto. |
id |
NULLABLE |
STRING |
O identificador exclusivo do projeto. |
number |
NULLABLE |
NUMBER |
Um valor numérico associado ao projeto. |
Esquema do conjunto de dados para eventos e erros
No conjunto de dados associado, também pode ver os eventos de processamento de instantâneos e os erros nas vistas events_view
e error_attributes_view
. Para saber como
resolver problemas de erros de processamento de instantâneos, consulte o artigo Resolva problemas de conjuntos de dados.
Registo de eventos
Pode ver os registos de eventos na vista events_view
no conjunto de dados associado:
Nome da coluna | Modo | Tipo | Descrição |
---|---|---|---|
manifest.snapshotTime |
NULLABLE |
TIMESTAMP |
A hora no formato RFC 3339 em que o instantâneo dos eventos é atualizado. |
manifest.viewName |
NULLABLE |
STRING |
O nome da vista que foi atualizada. |
manifest.location |
NULLABLE |
STRING |
A localização de origem dos dados que foram atualizados. |
globalManifest.snapshotTime |
NULLABLE |
TIMESTAMP |
A hora no formato RFC 3339 em que o instantâneo dos eventos é atualizado. |
eventTime |
NULLABLE |
STRING |
A hora em que o evento ocorreu. |
eventCode |
NULLABLE |
STRING |
O código do evento associado à entrada correspondente. O código do evento
1 refere-se à atualização da vista manifest.viewName com todas as
entradas para a localização de origem manifest.location na imagem instantânea
manifest.snapshotTime . O código de evento 2 indica que o conjunto de dados é atualizado com as entradas de contentores e objetos para todas as localizações de origem. Esta atualização ocorre no instantâneo globalManifest.snapshotTime . |
Códigos de erro
Pode ver os códigos de erro na vista error_attributes_view
no conjunto de dados associado:
Nome da coluna | Modo | Tipo | Descrição |
---|---|---|---|
errorCode |
NULLABLE |
INTEGER |
O código de erro associado a esta entrada. Para ver uma lista de valores válidos e saber como os resolver, consulte o artigo Resolva problemas de erros do conjunto de dados. |
errorSource |
NULLABLE |
STRING |
A origem do erro. Valor válido: CONFIGURATION_PREPROCESSING . |
errorTime |
NULLABLE |
TIMESTAMP |
A hora em que ocorreu o erro. |
sourceGcsLocation |
NULLABLE |
STRING |
A localização do Cloud Storage de origem do erro. Para projetos, este campo é nulo porque não têm localização. |
bucketErrorRecord.bucketName |
NULLABLE |
STRING |
O nome do contentor envolvido no erro. Pode usar estas informações para depurar um erro de contentor. |
bucketErrorRecord.serviceAccount |
NULLABLE |
STRING |
A conta de serviço que precisa de autorização para carregar objetos do contentor. Pode usar estas informações para depurar um erro de contentor. |
projectErrorRecord.projectNumber |
NULLABLE |
INTEGER |
O número do projeto envolvido no erro. Pode usar estas informações para depurar um erro do projeto. |
projectErrorRecord.organizationName |
NULLABLE |
STRING |
O número da organização à qual o projeto tem de pertencer para ser processado. Um valor de 0 indica que o conjunto de dados não está na organização. Pode usar estas informações para depurar um erro do projeto. |
Resolva problemas de erros de conjuntos de dados
Para saber como resolver problemas de erros de processamento de instantâneos registados na visualização error_attributes_view
no conjunto de dados associado, consulte a tabela seguinte:
Código de erro | Caso de erro | Mensagem de erro | Resolução de problemas |
---|---|---|---|
1 | O projeto de origem não pertence à organização | O projeto de origem projectErrorRecord.projectNumber não pertence à organização projectErrorRecord.organizationName . |
Adicione o projeto de origem projectErrorRecord.projectNumber à organização projectErrorRecord.organizationName . Para ver instruções sobre como migrar um projeto entre organizações, consulte o artigo Migre projetos entre organizações. |
2 | Erro de autorização do contentor | Autorização recusada para carregar objetos para o contentor bucketErrorRecord.bucketName . |
Conceda autorizações de bucketErrorRecord.serviceAccount gestão de identidade e de acesso (IAM)bucketErrorRecord.bucketName à conta de serviço para permitir o carregamento de objetos para o contentor bucketErrorRecord.bucketName . Para mais informações, consulte o artigo Conceda as autorizações necessárias ao agente de serviço. |
3 | O projeto de destino não pertence à organização | O projeto de destino projectErrorRecord.projectNumber não está na organização projectErrorRecord.organizationName . |
Adicione o projeto de destino projectErrorRecord.projectNumber à organização projectErrorRecord.organizationName . Para ver instruções sobre como migrar um projeto entre organizações, consulte o artigo Migre projetos entre organizações. |
4 | O projeto de origem não tem a funcionalidade de inteligência de armazenamento configurada. | O projeto de origem projectErrorRecord.projectNumber não tem a funcionalidade de inteligência de armazenamento configurada. |
Configure a inteligência de armazenamento para o projeto de origem projectErrorRecord.projectNumber . Para mais informações, consulte o artigo Configure e faça a gestão da inteligência de armazenamento. |
5 | O contentor não tem a funcionalidade de inteligência de armazenamento configurada. | O contentor bucketErrorRecord.bucketName não tem a funcionalidade de inteligência de armazenamento configurada. |
Configure as informações de armazenamento para o contentor bucketErrorRecord.bucketName . Para mais informações, consulte o artigo Configure e faça a gestão da inteligência de armazenamento. |
Considerações
Tenha em atenção o seguinte para as configurações do conjunto de dados:
Quando muda o nome de uma pasta num contentor com o espaço de nomes hierárquico ativado, os nomes dos objetos nesse contentor são atualizados. Quando carregadas pelo conjunto de dados associado, estas imagens instantâneas de objetos são consideradas novas entradas nos conjuntos de dados associados.
Os conjuntos de dados só são suportados nestas localizações do BigQuery.
O que se segue?
- Use conjuntos de dados do Storage Insights.
- Saiba mais sobre a inteligência de armazenamento.
- Execute consultas SQL nos conjuntos de dados no BigQuery.
- Saiba mais acerca da análise do BigQuery.