O recurso de conjuntos de dados do Storage Insights ajuda a entender, organizar e gerenciar seus dados em grande escala. Você pode escolher uma organização ou um ou vários projetos ou pastas que contêm os buckets e objetos cujos metadados você quer atualizar. Um índice de metadados consultáveis para os intervalos e objetos incluídos nesses projetos é disponibilizado como um conjunto de dados vinculado do BigQuery.
Se quiser insights sobre os recursos do Cloud Storage exportados para o BigQuery, use os conjuntos de dados do Storage Insights. Esses insights podem ajudar na análise de dados, na otimização de custos, na aplicação de segurança e na implementação de governança. Os conjuntos de dados do Storage Insights são um recurso exclusivo disponível apenas com a assinatura do Storage Intelligence.
Visão geral
Um conjunto de dados do Storage Insights é um snapshot rotativo de metadados de todos os buckets e objetos em um ou mais projetos de origem especificados em uma organização. Com as informações fornecidas pelos conjuntos de dados, é possível entender melhor e auditar rotineiramente seus dados do Cloud Storage.
Para criar um conjunto de dados, primeiro crie uma configuração de conjunto de dados em um projeto. Você pode escolher uma organização ou um ou vários projetos ou pastas que contêm buckets 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 vincule-o ao BigQuery.
Propriedades de configuração do conjunto de dados
Ao criar uma configuração de conjunto de dados, você define essas propriedades do conjunto de dados. Pode levar até 48 horas para que os primeiros dados sejam preenchidos como um conjunto de dados vinculado no BigQuery depois que você configurar o conjunto de dados. Todos os objetos ou buckets recém-adicionados são incluídos no próximo snapshot diário.
Nome: um nome usado para referenciar o conjunto de dados. Os nomes são usados como o identificador das configurações do conjunto de dados e não podem ser alterados depois que a configuração é criada. O nome pode ter até 128 caracteres usando letras, números e sublinhados. O nome precisa começar com uma letra.
Descrição (opcional): uma descrição do conjunto de dados. Você pode editar a descrição a qualquer momento.
Escopo do conjunto de dados: um campo obrigatório que especifica uma organização, projetos ou pastas que contêm os buckets e objetos para os quais você quer metadados. É possível especificar projetos ou pastas individualmente ou como um arquivo CSV, com cada número de projeto ou pasta em uma linha separada. É possível especificar até 10.000 projetos ou pastas em uma configuração de conjunto de dados. Os conjuntos de dados são configurados para o escopo especificado. Só é possível especificar um escopo de conjunto de dados para cada configuração de conjunto de dados. É possível atualizar o escopo do conjunto de dados ao editar a configuração dele.
Filtros de agrupamento (opcional): usados para incluir e excluir agrupamentos específicos do conjunto de dados por nome ou regiões.
Período de retenção: o número de dias em que o conjunto de dados captura e retém dados, incluindo a data de criação. Os conjuntos de dados são atualizados com metadados a cada 24 horas e podem reter dados por até 90 dias. Os dados coletados fora da janela de retenção são excluídos automaticamente. Por exemplo, suponha que você tenha um conjunto de dados criado em 1º de outubro de 2023 com uma janela de retenção definida como 30. Em 30 de outubro, o conjunto de dados vai refletir os últimos 30 dias de dados, de 1º a 30 de outubro. Em 31 de outubro, o conjunto de dados vai refletir as informações de 2 a 31 de outubro. É possível modificar o período de retenção a qualquer momento.
Local: um local para armazenar o conjunto de dados e os dados dele. Por exemplo,
us-central1
. O local precisa ser compatível com o BigQuery. Recomendamos que você selecione o local das suas tabelas do BigQuery, se houver.Tipo de agente de serviço: um agente de serviço com escopo de configuração ou um agente de serviço com escopo de projeto.
A criação de uma configuração de conjunto de dados provisiona um agente de serviço para você. Para ler conjuntos de dados, o agente de serviço precisa ter as permissões necessárias para ler dados de buckets do Cloud Storage.
Um agente de serviço no escopo do projeto pode acessar e gravar conjuntos de dados gerados com base em todas as configurações de conjunto de dados no projeto. Por exemplo, se você tiver várias configurações de conjunto de dados em um projeto, só precisará conceder as permissões necessárias ao agente de serviço no escopo do projeto uma vez para que ele possa ler e gravar conjuntos de dados para todas as configurações de conjunto de dados no projeto. Para mais informações sobre as permissões necessárias para ler e gravar conjuntos de dados, consulte Permissões. Quando uma configuração de conjunto de dados é excluída, o agente de serviço no escopo do projeto não é excluído.
Um agente de serviço com escopo de configuração só pode acessar e gravar o conjunto de dados gerado pela configuração específica. Isso significa que, se você tiver várias configurações de conjunto de dados, será necessário conceder as permissões necessárias a cada agente de serviço no escopo da configuração. Quando uma configuração de conjunto de dados é excluída, o agente de serviço no escopo da configuração também é excluído.
Vincule o conjunto de dados ao BigQuery depois de criar uma configuração de conjunto de dados. A vinculação de um conjunto de dados ao BigQuery cria um conjunto de dados vinculado no BigQuery para consultas. É possível vincular ou desvincular o conjunto de dados a qualquer momento.
Para mais informações sobre as propriedades definidas ao criar ou atualizar uma configuração de conjunto de dados, consulte o recurso DatasetConfigs na documentação da API JSON.
Locais suportados
Os seguintes locais do BigQuery são compatíveis com a criação de conjuntos de dados vinculados:
EU
US
asia-southeast1
europe-west1
us-central1
us-east1
us-east4
Esquema de metadados do conjunto de dados
Os seguintes campos de metadados estão incluídos nos conjuntos de dados. Para mais informações sobre os modos de coluna do BigQuery, consulte Modos. Os modos de coluna determinam como o BigQuery armazena e consulta os dados.
O campo snapshotTime
armazena o horário da atualização do snapshot de metadados do bucket
no formato RFC 3339.
Metadados do bucket
Salvo indicação em contrário, você pode encontrar descrições mais detalhadas dos seguintes campos de metadados de bucket na representação do recurso "buckets" para a API JSON.
Campo de metadados | Modo | Tipo |
---|---|---|
snapshotTime |
NULLABLE |
TIMESTAMP |
name |
NULLABLE |
STRING |
location |
NULLABLE |
STRING |
project |
NULLABLE |
INTEGER |
storageClass |
NULLABLE |
STRING |
versioning |
NULLABLE |
BOOLEAN |
lifecycle |
NULLABLE |
BOOLEAN |
metageneration |
NULLABLE |
INTEGER |
timeCreated |
NULLABLE |
TIMESTAMP |
public |
NULLABLE |
RECORD |
public.bucketPolicyOnly |
NULLABLE |
BOOLEAN |
public.publicAccessPrevention |
NULLABLE |
STRING |
autoclass |
NULLABLE |
RECORD |
autoclass.enabled |
NULLABLE |
BOOLEAN |
autoclass.toggleTime |
NULLABLE |
TIMESTAMP |
softDeletePolicy |
NULLABLE |
OBJECT |
softDeletePolicy.effectiveTime |
NULLABLE |
DATETIME |
softDeletePolicy.retentionDurationSeconds |
NULLABLE |
LONG |
tags* |
NULLABLE |
RECORD |
tags.lastUpdatedTime |
NULLABLE |
TIMESTAMP |
tags.tagMap |
REPEATED |
RECORD |
tags.tagMap.key |
NULLABLE |
STRING |
tags.tagMap.value |
NULLABLE |
STRING |
labels |
REPEATED |
RECORD |
labels.key |
NULLABLE |
STRING |
labels.value |
NULLABLE |
STRING |
* As tags do bucket. Para mais informações, consulte a API Cloud Resource Manager.
Metadados do objeto
A menos que indicado de outra forma, você pode encontrar descrições mais detalhadas dos seguintes campos de metadados de objetos na representação do recurso de objetos para a API JSON.
Campo de metadados | Modo | Tipo |
---|---|---|
snapshotTime |
NULLABLE |
TIMESTAMP |
bucket |
NULLABLE |
STRING |
location |
NULLABLE |
STRING |
componentCount |
NULLABLE |
INTEGER |
contentDisposition |
NULLABLE |
STRING |
contentEncoding |
NULLABLE |
STRING |
contentLanguage |
NULLABLE |
STRING |
contentType |
NULLABLE |
STRING |
crc32c |
NULLABLE |
INTEGER |
customTime |
NULLABLE |
TIMESTAMP |
etag |
NULLABLE |
STRING |
eventBasedHold |
NULLABLE |
BOOLEAN |
generation |
NULLABLE |
INTEGER |
md5Hash |
NULLABLE |
STRING |
mediaLink |
NULLABLE |
STRING |
metageneration |
NULLABLE |
INTEGER |
name |
NULLABLE |
STRING |
selfLink |
NULLABLE |
STRING |
size |
NULLABLE |
INTEGER |
storageClass |
NULLABLE |
STRING |
temporaryHold |
NULLABLE |
BOOLEAN |
timeCreated |
NULLABLE |
TIMESTAMP |
timeDeleted |
NULLABLE |
TIMESTAMP |
updated |
NULLABLE |
TIMESTAMP |
timeStorageClassUpdated |
NULLABLE |
TIMESTAMP |
retentionExpirationTime |
NULLABLE |
TIMESTAMP |
softDeleteTime |
NULLABLE |
DATETIME |
hardDeleteTime |
NULLABLE |
DATETIME |
metadata |
REPEATED |
RECORD |
metadata.key |
NULLABLE |
STRING |
metadata.value |
NULLABLE |
STRING |
Metadados do projeto
Os metadados do projeto são expostos como uma visualização chamada project_attributes_view
no conjunto de dados vinculado:
Campo de metadados | Modo | Tipo |
---|---|---|
snapshotTime |
NULLABLE |
TIMESTAMP |
name |
NULLABLE |
STRING |
id |
NULLABLE |
STRING |
number |
NULLABLE |
NUMBER |
Esquema do conjunto de dados para eventos e erros
No conjunto de dados vinculado, também é possível conferir os eventos e erros de processamento de snapshots nas visualizações events_view
e error_attributes_view
. Para saber como resolver problemas de erros de processamento de snapshots, consulte Resolver problemas de erros de conjuntos de dados.
Registro de eventos
É possível conferir os registros de eventos na visualização events_view
do conjunto de dados vinculado:
Nome da coluna | Modo | Tipo | Descrição |
---|---|---|---|
manifest.snapshotTime |
NULLABLE |
TIMESTAMP |
O horário no formato RFC 3339 em que o snapshot dos eventos é atualizado. |
manifest.viewName |
NULLABLE |
STRING |
O nome da visualização que foi atualizada. |
manifest.location |
NULLABLE |
STRING |
O local de origem dos dados atualizados. |
eventTime |
NULLABLE |
STRING |
O horário em que o evento aconteceu. |
eventCode |
NULLABLE |
STRING |
O código do evento associado à entrada correspondente. O código do evento
1 se refere à atualização da visualização manifest.viewName com todas as
entradas do local de origem manifest.location no snapshot
manifest.snapshotTime . |
Códigos de erro
É possível conferir os códigos de erro na visualização error_attributes_view
do conjunto de dados vinculado:
Nome da coluna | Modo | Tipo | Descrição |
---|---|---|---|
errorCode |
NULLABLE |
INTEGER |
O código de erro associado a esta entrada. Para uma lista de valores válidos e como resolver problemas, consulte Resolver problemas de erros de conjunto de dados. |
errorSource |
NULLABLE |
STRING |
A origem do erro. Valor válido: CONFIGURATION_PREPROCESSING . |
errorTime |
NULLABLE |
TIMESTAMP |
A hora em que o erro ocorreu. |
sourceGcsLocation |
NULLABLE |
STRING |
O local de origem do erro no Cloud Storage. Para projetos, esse campo é nulo porque eles não têm local. |
bucketErrorRecord.bucketName |
NULLABLE |
STRING |
O nome do bucket envolvido no erro. Use essas informações para depurar um erro de bucket. |
bucketErrorRecord.serviceAccount |
NULLABLE |
STRING |
A conta de serviço que precisa de permissão para ingerir objetos do bucket. Use essas informações para depurar um erro de bucket. |
projectErrorRecord.projectNumber |
NULLABLE |
INTEGER |
O número do projeto envolvido no erro. Use essas informações para depurar um erro de projeto. |
projectErrorRecord.organizationName |
NULLABLE |
STRING |
O número da organização a que o projeto precisa pertencer para ser processado. Um valor de 0 indica que o conjunto de dados não está na organização. Use essas informações para depurar um erro de projeto. |
Resolver erros de conjunto de dados
Para saber como resolver os erros de processamento de snapshots registrados na visualização error_attributes_view
do conjunto de dados vinculado, consulte a tabela a seguir:
Código do erro | Caso de erro | Mensagem de erro | Soluçã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 instruções sobre como migrar um projeto entre organizações, consulte Migrar projetos entre organizações. |
2 | Erro de autorização do bucket | Permissão negada para ingerir objetos no bucket bucketErrorRecord.bucketName . |
Conceda à conta de serviço bucketErrorRecord.serviceAccount permissões do Identity and Access Management (IAM) para permitir a ingestão de objetos no bucket bucketErrorRecord.bucketName . Para mais informações, consulte Conceder as permissõ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 instruções sobre como migrar um projeto entre organizações, consulte Migrar projetos entre organizações. |
4 | O projeto de origem não tem o Storage Intelligence configurado. | O projeto de origem projectErrorRecord.projectNumber não tem o Storage Intelligence configurado. |
Configure o Storage Intelligence para o projeto de origem projectErrorRecord.projectNumber . Para mais informações, consulte Configurar e gerenciar o Storage Intelligence. |
5 | O bucket não tem o Storage Intelligence configurado. | O bucket bucketErrorRecord.bucketName não tem o Storage Intelligence configurado. |
Configure o Storage Intelligence para o bucket bucketErrorRecord.bucketName . Para mais informações, consulte Configurar e gerenciar o Storage Intelligence. |
Considerações
Considere o seguinte para configurações de conjunto de dados:
Quando você renomeia uma pasta em um bucket com o namespace hierárquico ativado, os nomes dos objetos nesse bucket são atualizados. Quando ingeridos pelo conjunto de dados vinculado, esses snapshots de objetos são considerados novas entradas nos conjuntos de dados vinculados.
Os conjuntos de dados são compatíveis apenas nestes locais do BigQuery.
A seguir
- Usar conjuntos de dados do Storage Insights.
- Saiba mais sobre o Storage Intelligence.
- Execute consultas SQL nos conjuntos de dados do BigQuery.
- Saiba mais sobre a análise do BigQuery.