La fonctionnalité d'ensembles de données Storage Insights vous aide à comprendre, organiser et gérer vos données à grande échelle. Vous pouvez choisir une organisation, un ou plusieurs projets ou dossiers contenant des buckets et des objets pour lesquels vous souhaitez mettre à jour les métadonnées. Un indice de métadonnées interrogeable pour les buckets et les objets inclus dans ces projets est mis à disposition en tant qu'ensemble de données associé à BigQuery.
Si vous souhaitez obtenir des insights sur vos ressources Cloud Storage exportées vers BigQuery, utilisez les ensembles de données Storage Insights. Ces insights peuvent vous aider à explorer les données, à optimiser les coûts, à appliquer la sécurité et à implémenter la gouvernance. Les ensembles de données Storage Insights sont une fonctionnalité exclusive disponible uniquement avec l'abonnement Storage Intelligence.
Présentation
Un ensemble de données Storage Insights est un instantané évolutif des métadonnées de tous les buckets et objets d'un ou de plusieurs projets sources spécifiés dans une organisation. Les informations fournies par les ensembles de données vous permettent de mieux comprendre et d'auditer régulièrement vos données Cloud Storage.
Pour créer un ensemble de données, vous devez d'abord créer une configuration d'ensemble de données dans un projet. Vous pouvez choisir une organisation, un ou plusieurs projets ou dossiers contenant des buckets et des objets pour lesquels vous souhaitez afficher les métadonnées. La configuration de l'ensemble de données génère des ensembles de données quotidiennement. Les configurations d'ensembles de données et les ensembles de données sont des ressources stockées dans Cloud Storage.
Pour afficher un ensemble de données, vous devez d'abord l'associer à BigQuery.
Propriétés de configuration de l'ensemble de données
Lorsque vous créez une configuration d'ensemble de données, vous définissez les propriétés suivantes de l'ensemble de données:
Nom: nom utilisé pour faire référence à l'ensemble de données. Les noms servent d'identifiants des configurations d'ensembles de données et ne peuvent pas être modifiés après la création de la configuration. Le nom peut contenir jusqu'à 128 caractères (lettres, chiffres et traits de soulignement). Le nom doit commencer par une lettre.
Description (facultatif): description de l'ensemble de données. Vous pouvez modifier la description à tout moment.
Champ d'application de l'ensemble de données: organisation, projets ou dossiers contenant les buckets et les objets pour lesquels vous souhaitez des métadonnées. Vous pouvez spécifier des projets ou des dossiers individuellement ou sous forme de fichier CSV, en inscrivant chaque numéro de projet ou de dossier sur une ligne distincte. Vous pouvez spécifier jusqu'à 10 000 projets ou dossiers dans une configuration d'ensemble de données.
Filtres de buckets (facultatif): filtres utilisés pour inclure et exclure des buckets spécifiques du jeu de données par nom de bucket ou par région.
Durée de conservation: nombre de jours pendant lesquels l'ensemble de données capture et conserve les données, y compris la date de création de l'ensemble de données. Les ensembles de données sont mis à jour avec des métadonnées toutes les 24 heures et peuvent conserver des données pendant 90 jours maximum. Les données collectées en dehors de la période de conservation sont automatiquement supprimées. Par exemple, imaginons que vous ayez créé un ensemble de données le 1er octobre 2023 avec une période de conservation définie sur 30. Le 30 octobre, l'ensemble de données reflètera les données des 30 derniers jours, du 1er octobre au 30 octobre. Le 31 octobre, l'ensemble de données reflètera les données du 2 au 31 octobre. Vous pouvez modifier la période de conservation à tout moment.
Emplacement: emplacement où stocker l'ensemble de données et ses données. Exemple :
us-central1
. L'emplacement doit être compatible avec BigQuery. Nous vous recommandons de sélectionner l'emplacement de vos tables BigQuery, le cas échéant.Type d'agent de service: agent de service de portée configuration ou agent de service de portée projet.
La création d'une configuration d'ensemble de données provisionne un agent de service pour vous. Pour lire des ensembles de données, l'agent de service doit disposer des autorisations requises pour lire les données des buckets Cloud Storage.
Un agent de service de champ d'application du projet peut accéder aux ensembles de données générés à partir de toutes les configurations d'ensemble de données du projet et y écrire. Par exemple, si vous disposez de plusieurs configurations d'ensembles de données dans un projet, vous n'avez besoin d'accorder les autorisations requises à l'agent de service de portée projet qu'une seule fois pour qu'il puisse lire et écrire des ensembles de données pour toutes les configurations d'ensembles de données du projet. Pour en savoir plus sur les autorisations requises pour lire et écrire des ensembles de données, consultez la section Autorisations. Lorsqu'une configuration d'ensemble de données est supprimée, l'agent de service de portée projet n'est pas supprimé.
Un agent de service de portée de configuration ne peut accéder et écrire que l'ensemble de données généré par la configuration de l'ensemble de données en question. Par conséquent, si vous avez plusieurs configurations d'ensembles de données, vous devez accorder les autorisations requises à chaque agent de service de portée de configuration. Lorsqu'une configuration d'ensemble de données est supprimée, l'agent de service de portée de configuration est supprimé.
Associez l'ensemble de données à BigQuery après avoir créé une configuration d'ensemble de données. Lorsque vous associez un ensemble de données à BigQuery, un ensemble de données associé est créé dans BigQuery pour les requêtes. Vous pouvez associer ou dissocier l'ensemble de données à tout moment.
Pour en savoir plus sur les propriétés que vous définissez lorsque vous créez ou mettez à jour une configuration d'ensemble de données, consultez la ressource DatasetConfigs dans la documentation de l'API JSON.
Pays acceptés
Les emplacements BigQuery suivants sont compatibles avec la création d'ensembles de données associés:
EU
US
asia-southeast1
europe-west1
us-central1
us-east1
us-east4
Schéma de métadonnées de l'ensemble de données
Les champs de métadonnées suivants sont inclus dans les ensembles de données. Pour en savoir plus sur les modes de colonne BigQuery, consultez la section Modes. Les modes de colonne déterminent comment BigQuery stocke et interroge les données.
Le champ snapshotTime
stocke l'heure de l'actualisation de l'instantané des métadonnées du bucket au format RFC 3339.
Métadonnées des buckets
Sauf indication contraire, vous trouverez des descriptions plus détaillées des champs de métadonnées de bucket suivants en consultant la représentation de la ressource Buckets pour l'API JSON.
Champ de métadonnées | Mode | Type |
---|---|---|
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 |
* Les tags du bucket. Pour en savoir plus, consultez la page API Cloud Resource Manager.
Métadonnées des objets
Sauf indication contraire, vous trouverez des descriptions plus détaillées des champs de métadonnées d'objet suivants en consultant la représentation de la ressource Objects pour l'API JSON.
Champ de métadonnées | Mode | Type |
---|---|---|
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 |
Métadonnées de projet
Les métadonnées du projet sont exposées sous la forme d'une vue nommée project_attributes_view
dans l'ensemble de données associé:
Champ de métadonnées | Mode | Type |
---|---|---|
snapshotTime |
NULLABLE |
TIMESTAMP |
name |
NULLABLE |
STRING |
id |
NULLABLE |
STRING |
number |
NULLABLE |
NUMBER |
Schéma de l'ensemble de données pour les événements et les erreurs
Dans l'ensemble de données associé, vous pouvez également afficher les événements et les erreurs de traitement des instantanés dans les vues events_view
et error_attributes_view
. Pour savoir comment résoudre les erreurs de traitement des instantanés, consultez Résoudre les erreurs de jeu de données.
Journal des événements
Vous pouvez afficher les journaux des événements dans la vue events_view
de l'ensemble de données associé:
Nom de la colonne | Mode | Type | Description |
---|---|---|---|
manifest.snapshotTime |
NULLABLE |
TIMESTAMP |
Heure (au format RFC 3339) à laquelle l'instantané des événements est actualisé. |
manifest.viewName |
NULLABLE |
STRING |
Nom de la vue actualisée. |
manifest.location |
NULLABLE |
STRING |
Emplacement source des données actualisées. |
eventTime |
NULLABLE |
STRING |
Heure à laquelle l'événement s'est produit. |
eventCode |
NULLABLE |
STRING |
Code d'événement associé à l'entrée correspondante. Le code d'événement 1 fait référence à la vue manifest.viewName actualisée avec toutes les entrées pour l'emplacement source manifest.location dans l'instantané manifest.snapshotTime . |
Codes d'erreur
Vous pouvez afficher les codes d'erreur dans la vue error_attributes_view
de l'ensemble de données associé:
Nom de la colonne | Mode | Type | Description |
---|---|---|---|
errorCode |
NULLABLE |
INTEGER |
Code d'erreur associé à cette entrée. Pour obtenir la liste des valeurs valides et savoir comment les résoudre, consultez Résoudre les erreurs liées aux ensembles de données. |
errorSource |
NULLABLE |
STRING |
Source de l'erreur. Valeur valide: CONFIGURATION_PREPROCESSING . |
errorTime |
NULLABLE |
TIMESTAMP |
Heure à laquelle l'erreur s'est produite. |
sourceGcsLocation |
NULLABLE |
STRING |
Emplacement Cloud Storage source de l'erreur. Pour les projets, ce champ est nul, car ils n'ont pas de lieu. |
bucketErrorRecord.bucketName |
NULLABLE |
STRING |
Nom du bucket impliqué dans l'erreur. Vous pouvez utiliser ces informations pour déboguer une erreur de bucket. |
bucketErrorRecord.serviceAccount |
NULLABLE |
STRING |
Compte de service nécessitant une autorisation pour ingérer des objets à partir du bucket. Vous pouvez utiliser ces informations pour déboguer une erreur de bucket. |
projectErrorRecord.projectNumber |
NULLABLE |
INTEGER |
Numéro du projet concerné par l'erreur. Vous pouvez utiliser ces informations pour déboguer une erreur de projet. |
projectErrorRecord.organizationName |
NULLABLE |
STRING |
Numéro de l'organisation à laquelle le projet doit appartenir pour être traité. La valeur 0 indique que l'ensemble de données ne fait pas partie de l'organisation. Vous pouvez utiliser ces informations pour déboguer une erreur de projet. |
Résoudre les erreurs liées aux ensembles de données
Pour savoir comment résoudre les erreurs de traitement des instantanés enregistrées dans la vue error_attributes_view
de l'ensemble de données associé, consultez le tableau suivant:
Code d'erreur | Demande d'erreur | Message d'erreur | Dépannage |
---|---|---|---|
1 | Le projet source n'appartient pas à l'organisation | Le projet source projectErrorRecord.projectNumber n'appartient pas à l'organisation projectErrorRecord.organizationName . |
Ajoutez le projet source projectErrorRecord.projectNumber à l'organisation projectErrorRecord.organizationName . Pour savoir comment migrer un projet entre des organisations, consultez Migrer des projets entre des organisations. |
2 | Erreur d'autorisation du bucket | Autorisation refusée pour l'ingestion d'objets pour le bucket bucketErrorRecord.bucketName . |
Accordez au compte de service bucketErrorRecord.serviceAccount des autorisations IAM (Identity and Access Management) pour permettre l'ingestion d'objets pour le bucket bucketErrorRecord.bucketName . Pour en savoir plus, consultez la section Accorder les autorisations requises à l'agent de service. |
3 | Le projet de destination n'appartient pas à l'organisation | Le projet de destination projectErrorRecord.projectNumber ne fait pas partie de l'organisation projectErrorRecord.organizationName . |
Ajoutez le projet de destination projectErrorRecord.projectNumber à l'organisation projectErrorRecord.organizationName . Pour savoir comment migrer un projet entre des organisations, consultez Migrer des projets entre des organisations. |
4 | Storage Intelligence n'est pas configuré pour le projet source. | Storage Intelligence n'est pas configuré pour le projet source projectErrorRecord.projectNumber . |
Configurez Storage Intelligence pour le projet source projectErrorRecord.projectNumber . Pour en savoir plus, consultez Configurer et gérer Storage Intelligence. |
5 | Storage Intelligence n'est pas configuré pour le bucket. | Storage Intelligence n'est pas configuré pour le bucket bucketErrorRecord.bucketName . |
Configurez Storage Intelligence pour le bucket bucketErrorRecord.bucketName . Pour en savoir plus, consultez Configurer et gérer Storage Intelligence. |
Remarques
Tenez compte des points suivants pour les configurations d'ensembles de données:
Lorsque vous renommez un dossier dans un bucket avec l'espace de noms hiérarchique activé, les noms des objets de ce bucket sont mis à jour. Lorsqu'ils sont ingérés par l'ensemble de données associé, ces instantanés d'objets sont considérés comme de nouvelles entrées dans les ensembles de données associés.
Les ensembles de données ne sont compatibles qu'avec les emplacements BigQuery suivants.
Étape suivante
- Utilisez les ensembles de données Storage Insights.
- En savoir plus sur Storage Intelligence
- Exécuter des requêtes SQL sur les ensembles de données dans BigQuery
- En savoir plus sur les analyses BigQuery