この機能に対応しているエディション: Frontline Plus、Enterprise Standard、Enterprise Plus、Education Standard、Education Plus、Enterprise Essentials Plus、Cloud Identity Premium。エディションを比較する
ドライブのインベントリのエクスポートを設定したら、BigQuery でデータセットを分析できます。このページでは、BigQuery から取得できる一般的なレポートのテーブル スキーマとクエリ例について説明します。
注: BigQuery でドライブのインベントリをエクスポートしてクエリするには費用がかかるため、Google Cloud プロジェクトの課金を設定する必要があります。プロジェクトの課金を有効にする。
ドライブのインベントリのエクスポート スキーマ
スキーマと定義
ドライブ インベントリのエクスポートは、次のスキーマで BigQuery データセットに追加されます。
| 名前 | スキーマ フィールド | 説明 |
|---|---|---|
| アイテム ID | id |
アイテムの固有の Google ドライブ アイテム ID。 |
| バージョン | version |
ファイルの最新バージョン番号。ファイル バージョンの数値は単調に増加します。ユーザーには表示されない変更も含め、サーバー上のファイルに加えられたすべての変更が反映されます。 |
| 所有者 ID | owner.user.id |
ユーザーが所有するアイテムの場合は、ファイルのオーナーのユーザー ID。 |
| オーナーのメールアドレス | owner.user.email |
ユーザーが所有するアイテムの場合は、ファイルのオーナーのメールアドレス。 |
| 共有ドライブ ID | owner.shared_drive.id |
共有ドライブ内のアイテムの場合は、共有ドライブ ID。 |
| 作成者 | creator |
アイテムの作成者のメールアドレスとユーザー ID。クリエイターがアイテムにアクセスできなくなった場合、このフィールドには値が入力されません。 |
| スナップショットのタイムスタンプ | snapshot_start_time_micros、snapshot_end_time_micros |
レポート生成の開始時刻と終了時刻のタイムスタンプ。 |
| 読み取り時間 | read_time_micros |
ドライブ アイテムのメタデータが読み取られたときのタイムスタンプ。 |
| タイトル | title |
ユーザーが指定したファイルのタイトル。 |
| 説明 | description |
アイテムの短い説明です。 |
| ゴミ箱のステータス | trashed |
アイテムがゴミ箱に移動されているがまだ削除されていないかどうか。 |
| MIME タイプ | mime_type |
アイテムの MIME タイプ。Google Workspace と Google ドライブのサポートされている MIME タイプをご覧ください。 |
| ファイル拡張子 | file_extension |
完全なファイル拡張子の最後のコンポーネント。名前フィールドから抽出されます。これは、Google ドライブ内のバイナリ コンテンツを含むアイテムでのみ使用できます。 |
| 作成時間 | create_time_micros |
アイテムが作成されたときのタイムスタンプ。 |
| 最終更新時間 | last_modified_time_micros |
アイテムが最後に変更された時刻のタイムスタンプ。 |
| ファイルサイズ | file_size_bytes |
blob とドキュメント エディタ ファイルのサイズ(バイト単位)。ショートカットやフォルダなど、サイズのないアイテムについては報告されません。 |
| 消費した割り当て | consumed_quota_bytes |
アイテムによって使用された保存容量のバイト数。これには、HEAD リビジョンと保持された以前のリビジョンが含まれます。 |
| 共有ドライブ ID | shared_drive_id |
共有ドライブ内のアイテムの場合は、共有ドライブ ID。 |
| 組織部門 | org_unit_path |
アイテムのオーナーの組織部門。 |
| チェックサム | md5_checksum |
アイテムのコンテンツの MD5 チェックサム。 |
| クライアントサイドの暗号化 | client_side_encrypted |
アイテムがクライアントサイド暗号化されているかどうかを示すブール値。 |
| 親フォルダ | parent |
アイテムの親フォルダの ID。 |
| 適用されたラベル* | applied_labels.id |
アイテムに適用されるラベルの ID。 |
applied_labels.title |
アイテムに適用されるラベルのリソース名。 | |
applied_labels.field_values.id |
ラベルまたはライブラリ内で一意のフィールド ID。 |
|
|
|
フィールドのタイプ。次のいずれかになります |
|
|
|
UI に表示する、フィールドを識別するテキスト。 | |
| ショートカットのターゲット ID | shortcut_target_id |
このショートカットが指すファイルまたはフォルダの ID。 |
| 権限 | access.permissions.permission_id |
この権限の ID。これは、権限を付与されたユーザー向けの固有の識別子です。 注: 権限 ID はユーザー ID と同じではありません。 |
access.permissions.name |
権限の値の「略式の」名前。各タイプの権限の例を以下に示します。
|
|
access.permissions.type |
権限のタイプ。指定できる値は次のとおりです。
|
|
access.permissions.role |
この権限によって付与されるロール。指定できる値は次のとおりです。
注: タイプの詳細については、ロールと権限をご覧ください。 |
|
access.permissions.view |
権限がビューに属する場合、値は |
|
|
|
ファイルの検索を許可するかどうかを決める権限。domain または anyone のタイプの権限についてのみ報告されます。 |
|
access.permissions.email |
この権限が参照するユーザーまたはグループのメールアドレス。 | |
access.permissions.domain |
この権限が参照するエンティティのドメイン名。権限の種類が user、group、domain のいずれかである場合に表示されます。 |
|
access.permissions.user_id |
権限のメールアドレスに関連付けられているユーザー ID。 | |
access.permissions.permission_details |
ユーザーの権限タイプ。 | |
access.permissions.permission_details.role |
ユーザーのメインのロール。 | |
access.permissions.permission_details |
この権限が継承されるアイテムの ID。共有ドライブ内のアイテムにのみ入力されます。 | |
access.permissions.permission_details |
権限が継承されるかどうかを示すブール値。 | |
access.permissions.inherited_permissions |
このアイテムで継承された権限が無効になっているかどうか。アクセス制限付きのフォルダの場合のみ true。 |
* ドライブのアイテムに適用されたラベルを指します。
クエリの例
こうしたクエリでは、レガシー SQL が使用されます。project_name.dataset_name の部分を、実際のプロジェクト名とデータセット名に置き換えてください。詳しくは、BigQuery データのクエリをご覧ください。
ドライブ検索で表示可能なアイテムを探す
project_name.dataset_nameproject_name.dataset_name の部分を、実際のプロジェクト名とデータセット名に置き換えてください。
ファイル ID、タイトル、オーナーのメールアドレス、タイプを含むテーブルを返します。
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
)特定のラベルが付いたアイテムを検索する
project_name.dataset_nameproject_name.dataset_name の部分を、実際のプロジェクト名とデータセット名に置き換えてください。label_id は、ラベル マネージャーで確認できるラベル ID に置き換えます。
このクエリは、ファイル ID、タイトル、オーナーのメールアドレス、タイプを含むテーブルを返します。
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
)
ドライブ ストレージの使用量のしきい値を超えているユーザーを検索する
project_name.dataset_nameproject_name.dataset_name の部分を、実際のプロジェクト名とデータセット名に置き換えてください。[しきい値] は、MB 単位のしきい値に置き換えます。たとえば、ドライブ ストレージの使用量が 15 GB を超えるユーザーを検索するには、最後から 2 番目の行を HAVING total_storage_mb > 15000 にします。
このクエリは、ユーザーのメールアドレスとドライブ ストレージの合計使用量(MB)を降順で返します。
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
最も容量を占めているアイテムの種類を確認する
project_name.dataset_nameproject_name.dataset_name の部分を、実際のプロジェクト名とデータセット名に置き換えてください。
このクエリは、サイズの降順でアイテムの種類の表を返します。
SELECT mime_type, SUM(consumed_quota_bytes) AS total_consumed
FROM project_name.dataset_name
GROUP BY mime_type
ORDER BY total_consumed DESC
クライアントサイド暗号化(CSE)で暗号化されたアイテムを検索する
project_name.dataset_nameproject_name.dataset_name の部分を、実際のプロジェクト名とデータセット名に置き換えてください。
SELECT id, owner.user.email, title
FROM project_name.dataset_name
WHERE mime_type LIKE '%.encrypted'
特定のユーザーと共有しているアイテムを探す
project_name.dataset_nameproject_name.dataset_name の部分を、実際のプロジェクト名とデータセット名に置き換えてください。user@example.comuser@example.com は、特定のユーザーに置き換えます。
注: このクエリでは、グループや対象グループのメンバーシップによるユーザーの共有は検出されません。
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
)