Schéma et exemples de requêtes pour les exportations de l'inventaire Drive vers BigQuery

Éditions compatibles avec cette fonctionnalité : Frontline Plus ; Enterprise Standard et Enterprise Plus ; Education Standard et Education Plus ; Enterprise Essentials Plus ; Cloud Identity Premium. Comparer votre édition

Après avoir configuré les exportations de l'inventaire Drive, vous pouvez analyser l'ensemble de données dans BigQuery. Cette page décrit le schéma de la table et des exemples de requêtes pour les rapports courants que vous pouvez obtenir dans BigQuery.

Remarque : Vous devez configurer la facturation pour votre projet Google Cloud, car l'exportation et l'interrogation de votre inventaire Drive dans BigQuery sont payantes. Activez la facturation pour un projet.

Schéma d'exportation de l'inventaire Drive

Schéma et définitions

L'exportation de l'inventaire Drive est ajoutée à l'ensemble de données BigQuery avec le schéma suivant :

Nom Champ de schéma Description
ID de l'article id Identifiant Drive unique de l'élément.
Version version Dernier numéro de version du fichier. La version du fichier est un nombre qui augmente de façon monotone. Cela reflète toutes les modifications apportées au fichier sur le serveur, même celles qui ne sont pas visibles par l'utilisateur.
ID du propriétaire owner.user.id

Pour les éléments appartenant à un utilisateur, ID utilisateur du propriétaire du fichier.

Adresse e-mail du propriétaire owner.user.email Pour les éléments appartenant à un utilisateur, adresse e-mail du propriétaire du fichier.
ID du Drive partagé owner.shared_drive.id Pour les éléments d'un Drive partagé, ID du Drive partagé.
Créateur creator Adresse e-mail et ID utilisateur du créateur de l'élément. Ce champ n'est pas renseigné si le créateur n'a plus accès à l'élément.
Codes temporels des instantanés snapshot_start_time_micros et snapshot_end_time_micros Codes temporels de début et de fin de la génération du rapport.
Temps de lecture read_time_micros Code temporel de lecture des métadonnées de l'élément Drive.
Titre title

Titre du fichier spécifié par l'utilisateur.

Description description Brève description de l'élément.
État de placement dans la corbeille trashed Indique si l'élément a été placé dans la corbeille, mais n'a pas encore été supprimé.
Type MIME mime_type Type MIME de l'élément. Consultez Types MIME compatibles avec Google Workspace et Google Drive.
Extension de fichier file_extension Composant final de l'extension de fichier complète, extrait du champ de nom. Cette option n'est disponible que pour les éléments incluant du contenu binaire dans Google Drive.
Heure de création create_time_micros Code temporel de création de l'élément.
Heure de la dernière modification last_modified_time_micros Code temporel de la dernière modification apportée à l'élément par n'importe quel utilisateur.
Taille du fichier file_size_bytes Taille en octets des blobs et des fichiers des éditeurs Docs. Non indiquée pour les éléments sans taille, comme les raccourcis et les dossiers.
Quota consommé consumed_quota_bytes Quota de stockage (en octets) utilisé par l'élément. Cela inclut la révision principale, ainsi que les révisions précédentes qui ont été conservées.
ID du Drive partagé shared_drive_id Pour les éléments d'un Drive partagé, ID du Drive partagé.
Unité organisationnelle org_unit_path Unité organisationnelle du propriétaire de l'élément.
Total md5_checksum Somme de contrôle MD5 du contenu de l'élément.
Chiffrement côté client client_side_encrypted Valeur booléenne indiquant si l'élément est chiffré côté client .
Dossier parent parent ID du dossier parent de l'élément.
Libellés appliqués* applied_labels.id ID du libellé appliqué à l'élément.
applied_labels.title Nom de ressource du libellé appliqué à l'élément.
applied_labels.field_values.id

ID d'un champ, unique dans un libellé ou une bibliothèque.

applied_labels.field_values.type

Type de champ. Les possibilités suivantes s'offrent à vous :

applied_labels.field_values.display_name

Texte à afficher dans l'UI pour identifier le champ.
ID de la cible du raccourci shortcut_target_id ID du fichier ou du dossier vers lequel pointe ce raccourci.
Autorisations access.permissions.permission_id

ID de cette autorisation. Il s'agit de l'identifiant unique du bénéficiaire.

Remarque : L'ID d'autorisation est différent de l'ID utilisateur.

access.permissions.name

Nom convivial de la valeur de l'autorisation. Voici une liste d'exemples pour chaque type d'autorisation :

  • user : nom complet de l'utilisateur, tel que défini pour son compte Google (par exemple, "Dana Cruz")
  • group : nom du groupe, par exemple "Exemples d'administrateurs"
  • domain : nom de domaine sous forme de chaîne (par exemple, "example.com")
  • anyone : aucun nom n'est indiqué
access.permissions.type

Type d'autorisation. Les valeurs valides sont les suivantes :

  • user
  • group
  • domain
  • anyone
access.permissions.role

Rôle accordé par cette autorisation. Les valeurs valides sont les suivantes :

  • owner
  • organizer
  • fileOrganizer
  • writer
  • commenter
  • reader

Remarque : Pour en savoir plus sur le type, consultez Rôles et autorisations.

access.permissions.view

Si l'autorisation appartient à une vue, la valeur est published.

access.permissions.allow_file_discovery

Indique si l'autorisation permet de rechercher le fichier. Signalé uniquement pour les autorisations de type domain ou anyone.
access.permissions.email Adresse e-mail de l'utilisateur ou du groupe auquel cette autorisation fait référence.
access.permissions.domain Nom de domaine de l'entité à laquelle cette autorisation fait référence. Cette valeur est présente lorsque le type d'autorisation est user, group ou domain.
access.permissions.user_id ID utilisateur associé à l'adresse e-mail dans les autorisations.
access.permissions.permission_details
.permission_type
Type d'autorisation accordé à l'utilisateur.
access.permissions.permission_details.role Rôle principal de l'utilisateur.
access.permissions.permission_details
.inherited_from
ID de l'élément à partir duquel cette autorisation est héritée. Cette valeur n'est renseignée que pour les éléments des Drive partagés.
access.permissions.permission_details
.inherited
Valeur booléenne indiquant si l'autorisation est héritée.
access.permissions.inherited_permissions
_disabled
Indique si les autorisations héritées sont désactivées pour cet élément. Uniquement pour les dossiers en accès limité.

* Fait référence aux libellés appliqués aux éléments Drive.

Exemples de requêtes

Ces exemples de requêtes sont compatibles avec l'ancien SQL. Remplacez project_name.dataset_name par le nom de votre projet et celui de votre ensemble de données. En savoir plus sur l'interrogation des données BigQuery

Remplacez project_name.dataset_name par le nom de votre projet et celui de votre ensemble de données.

Renvoie un tableau contenant l'ID de fichier, le titre, l'adresse e-mail du propriétaire et le type.

SELECT id, title, mime_type, owner.user.email
FROM project_name.dataset_name
WHERE EXISTS (
  SELECT 1
  FROM UNNEST(access.permissions) AS permission
  WHERE permission.allow_file_discovery = true
)

Rechercher des éléments portant un libellé spécifique

Remplacez project_name.dataset_name par le nom de votre projet et celui de votre ensemble de données. Remplacez label_id par votre ID de libellé, que vous pouvez obtenir dans le gestionnaire de libellés.

Cette requête renvoie un tableau contenant l'ID de fichier, le titre, l'adresse e-mail du propriétaire et le type.

SELECT id, title, mime_type, owner.user.email
FROM project_name.dataset_name
WHERE EXISTS (
  SELECT 1
  FROM UNNEST(applied_labels) AS label
  WHERE label.id = label_id
)

Rechercher les utilisateurs qui dépassent le seuil d'utilisation d'un espace de stockage Drive

Remplacez project_name.dataset_name par le nom de votre projet et celui de votre ensemble de données. Remplacez threshold par votre seuil en Mo. Par exemple, pour rechercher les utilisateurs qui utilisent plus de 15 Go d'espace de stockage Drive, l'avant-dernière ligne est HAVING total_storage_mb > 15000.

Cette requête renvoie un tableau contenant l'adresse e-mail de l'utilisateur et l'espace de stockage total utilisé dans Drive en Mo, par ordre décroissant.

SELECT owner.user.email AS user_email,
  SUM(size_bytes) / (1000000) AS total_storage_mb
FROM project_name.dataset_name
GROUP BY user_email
HAVING total_storage_mb > threshold
ORDER BY total_storage_mb DESC

Identifier les types d'éléments qui occupent le plus d'espace

Remplacez project_name.dataset_name par le nom de votre projet et celui de votre ensemble de données.

Cette requête renvoie un tableau contenant les types d'éléments par taille décroissante.

SELECT mime_type, SUM(consumed_quota_bytes) AS total_consumed
FROM project_name.dataset_name
GROUP BY mime_type
ORDER BY total_consumed DESC

Rechercher des éléments chiffrés avec le chiffrement côté client (CSE)

Remplacez project_name.dataset_name par le nom de votre projet et celui de votre ensemble de données.

SELECT id, owner.user.email, title
FROM project_name.dataset_name
WHERE mime_type LIKE '%.encrypted'

Rechercher des éléments partagés avec un utilisateur spécifique

Remplacez project_name.dataset_name par le nom de votre projet et celui de votre ensemble de données. Remplacez user@example.com par un utilisateur donné.

Remarque : Cette requête ne trouve pas les éléments partagés avec l'utilisateur via des groupes ou une audience cible.

SELECT id, title, mime_type, owner.user.email as owner_email
FROM project_name.dataset_name
WHERE EXISTS (
  SELECT 1
  FROM UNNEST(access.permissions) AS permissions
  WHERE permissions.email = user@example.com
)