Schema und Beispielabfragen für Exporte von Drive-Inventar in BigQuery

Unterstützte Versionen für diese Funktion: Frontline Plus; Enterprise Standard und Enterprise Plus; Education Standard und Education Plus; Enterprise Essentials Plus; Cloud Identity Premium. Versionen vergleichen

Nachdem Sie Drive-Inventarexporte eingerichtet haben, können Sie das Dataset in BigQuery analysieren. Auf dieser Seite werden das Tabellenschema und Beispielabfragen für häufig verwendete Berichte beschrieben, die Sie mit BigQuery erstellen können.

Hinweis:Sie müssen die Abrechnung für Ihr Google Cloud-Projekt einrichten, da das Exportieren und Abfragen Ihres Drive-Inventars in BigQuery kostenpflichtig ist. Abrechnung für ein Projekt aktivieren

Schema für den Export von Google Drive-Inventar

Schema und Definitionen

Der Export von Drive-Inventar wird dem BigQuery-Dataset mit dem folgenden Schema hinzugefügt:

Name Schemafeld Beschreibung
Artikel-ID id Die eindeutige Drive-Element-ID des Elements.
Version version Die neueste Versionsnummer der Datei. Die Dateiversion ist eine monoton steigende Zahl. Hier wird jede Änderung an der Datei auf dem Server angezeigt, auch wenn sie für den Nutzer nicht sichtbar ist.
Inhaber-ID owner.user.id

Für Elemente, die einem Nutzer gehören, die Nutzer-ID des Dateiinhabers.

E-Mail-Adresse des Eigentümers owner.user.email Für Elemente, die einem Nutzer gehören, die E-Mail-Adresse des Dateieigentümers.
ID der geteilten Ablage owner.shared_drive.id Für Elemente in einer geteilten Ablage die ID der geteilten Ablage.
Ersteller creator Die E‑Mail-Adresse und die Nutzer-ID des Erstellers des Elements. Dieses Feld ist leer, wenn der Ersteller keinen Zugriff mehr auf das Element hat.
Snapshot-Zeitstempel snapshot_start_time_micros und snapshot_end_time_micros Die Zeitstempel für den Beginn und das Ende der Berichterstellung.
Lesezeit read_time_micros Der Zeitstempel für den Zeitpunkt, zu dem die Metadaten des Drive-Elements gelesen wurden.
Titel title

Der vom Nutzer angegebene Dateititel.

Beschreibung description Eine kurze Beschreibung des Elements
Status „In den Papierkorb verschoben“ trashed Gibt an, ob das Element in den Papierkorb verschoben, aber noch nicht gelöscht wurde.
MIME-Typ mime_type Der MIME-Typ des Elements. Unterstützte MIME-Typen für Google Workspace und Google Drive
Dateiendung file_extension Die letzte Komponente der vollständigen Dateiendung, die aus dem Feld „Name“ extrahiert wird. Diese Funktion ist nur für Elemente mit binärem Inhalt in Google Drive verfügbar.
Erstellungszeitpunkt create_time_micros Der Zeitstempel für den Zeitpunkt, zu dem das Element erstellt wurde.
Uhrzeit der letzten Aktualisierung last_modified_time_micros Der Zeitstempel der letzten Änderung des Elements durch einen Nutzer.
Dateigröße file_size_bytes Die Größe von Blobs und Dateien aus den Docs-Editoren in Byte. Wird nicht für Elemente ohne Größe wie Verknüpfungen und Ordner gemeldet.
Verbrauchtes Kontingent consumed_quota_bytes Die Anzahl der vom Element verwendeten Speicherkontingent-Byte. Dazu gehören die aktuelle Version sowie frühere Versionen, die beibehalten wurden.
ID der geteilten Ablage shared_drive_id Für Elemente in einer geteilten Ablage die ID der geteilten Ablage.
Organisationseinheit org_unit_path Die Organisationseinheit des Inhabers des Elements.
Prüfsumme md5_checksum Die MD5-Prüfsumme für den Inhalt des Artikels.
Clientseitige Verschlüsselung client_side_encrypted Ein boolescher Wert, der angibt, ob das Element clientseitig verschlüsselt ist .
Übergeordneter Ordner parent Die ID des übergeordneten Ordners für das Element.
Angewendete Labels* applied_labels.id Die ID des Labels, das auf den Artikel angewendet wurde.
applied_labels.title Der Ressourcenname des Labels, das auf das Element angewendet wird.
applied_labels.field_values.id

Die ID eines Felds, die innerhalb eines Labels oder einer Bibliothek eindeutig ist.

applied_labels.field_values.type

Der Typ des Felds. folgende Arten von Werten sind möglich:

applied_labels.field_values.display_name

Der Text, der in der Benutzeroberfläche angezeigt wird, um das Feld zu identifizieren.
ID des Verknüpfungsziels shortcut_target_id Die ID der Datei oder des Ordners, auf die diese Verknüpfung verweist.
Berechtigungen access.permissions.permission_id

Die ID dieser Berechtigung. Dies ist eine eindeutige Kennung für den Empfänger.

Hinweis: Die Berechtigungs-ID ist nicht mit der Nutzer-ID identisch.

access.permissions.name

Der „hübsche“ Name des Berechtigungswerts. Im Folgenden finden Sie eine Liste mit Beispielen für die einzelnen Berechtigungstypen:

  • user: Der vollständige Name des Nutzers, wie er für sein Google-Konto definiert ist, z. B. „Dana Cruz“
  • group: Name der Gruppe, z. B. „Beispieladministratoren“
  • domain: String-Domainname, wie z. B. „beispiel.de“
  • anyone: Kein Name gemeldet
access.permissions.type

Der Typ der Berechtigung. Gültige Werte sind:

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

Die Rolle, die durch diese Berechtigung gewährt wird. Gültige Werte sind:

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

Hinweis: Weitere Informationen zum Typ finden Sie unter Rollen und Berechtigungen.

access.permissions.view

Wenn die Berechtigung zu einer Ansicht gehört, lautet der Wert published.

access.permissions.allow_file_discovery

Gibt an, ob die Datei aufgrund der Berechtigung durchsucht werden kann. Wird nur für Berechtigungen vom Typ domain oder anyone gemeldet.
access.permissions.email Die E‑Mail-Adresse des Nutzers oder der Gruppe, auf die sich diese Berechtigung bezieht.
access.permissions.domain Der Domainname der Entität, auf die sich diese Berechtigung bezieht. Dieser ist vorhanden, wenn der Berechtigungstyp user, group oder domain ist.
access.permissions.user_id Die Nutzer-ID, die mit der E-Mail-Adresse in den Berechtigungen verknüpft ist.
access.permissions.permission_details
.permission_type
Der Berechtigungstyp für den Nutzer.
access.permissions.permission_details.role Die primäre Rolle für den Nutzer.
access.permissions.permission_details
.inherited_from
Die ID des Elements, von dem diese Berechtigung übernommen wird. Wird nur für Elemente in geteilten Ablagen ausgefüllt.
access.permissions.permission_details
.inherited
Ein boolescher Wert, der angibt, ob die Berechtigung übernommen wird.
access.permissions.inherited_permissions
_disabled
Gibt an, ob für dieses Element geerbte Berechtigungen deaktiviert sind. Gilt nur für Ordner mit eingeschränktem Zugriff.

* Bezieht sich auf Labels, die auf Elemente in Drive angewendet werden.

Beispielabfragen

Für die Abfragen wird Legacy-SQL vorausgesetzt. Ersetzen Sie project_name.dataset_name durch Ihren eigenen Projektnamen und Dataset-Namen. Weitere Informationen zum Abfragen von BigQuery-Daten

Ersetzen Sie project_name.dataset_name durch Ihren eigenen Projektnamen und Dataset-Namen.

Gibt eine Tabelle mit Datei-ID, Titel, E‑Mail-Adresse des Eigentümers und Typ zurück.

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
)

Elemente mit einem bestimmten Label finden

Ersetzen Sie project_name.dataset_name durch Ihren eigenen Projektnamen und Dataset-Namen. Ersetzen Sie label_id durch Ihre Label-ID, die Sie in der Label-Verwaltung finden.

Diese Abfrage gibt eine Tabelle mit Datei-ID, Titel, E-Mail-Adresse des Eigentümers und Typ zurück.

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
)

Nutzer finden, die einen bestimmten Grenzwert für die Drive-Speichernutzung überschreiten

Ersetzen Sie project_name.dataset_name durch Ihren eigenen Projektnamen und Dataset-Namen. Ersetzen Sie threshold durch Ihren Schwellenwert in MB. Wenn Sie beispielsweise Nutzer mit mehr als 15 GB Drive-Speicherplatznutzung ermitteln möchten, lautet die vorletzte Zeile HAVING total_storage_mb > 15000.

Diese Abfrage gibt eine Tabelle mit der E-Mail-Adresse des Nutzers und der gesamten Drive-Speichernutzung in MB in absteigender Reihenfolge zurück.

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

Herausfinden, welche Elementtypen den meisten Speicherplatz belegen

Ersetzen Sie project_name.dataset_name durch Ihren eigenen Projektnamen und Dataset-Namen.

Diese Abfrage gibt eine Tabelle mit Artikeltypen in absteigender Größe zurück.

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

Elemente mit clientseitiger Verschlüsselung (CSE) finden

Ersetzen Sie project_name.dataset_name durch Ihren eigenen Projektnamen und Dataset-Namen.

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

Elemente finden, die für einen bestimmten Nutzer freigegeben wurden

Ersetzen Sie project_name.dataset_name durch Ihren eigenen Projektnamen und Dataset-Namen. Ersetzen Sie user@example.com durch den entsprechenden Nutzer.

Hinweis:Mit dieser Abfrage werden keine Freigaben für den Nutzer über Gruppen oder Zielgruppen gefunden.

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
)