Skema dan contoh kueri untuk ekspor inventaris Drive di BigQuery

Edisi yang didukung untuk fitur ini: Frontline Plus; Enterprise Standard dan Enterprise Plus; Education Standard dan Education Plus; Enterprise Essentials Plus; Cloud Identity Premium. Bandingkan edisi Anda

Setelah menyiapkan ekspor inventaris Drive, Anda dapat menganalisis set data di BigQuery. Halaman ini menjelaskan skema tabel dan contoh kueri untuk laporan umum yang dapat Anda dapatkan dari BigQuery.

Catatan: Anda harus menyiapkan penagihan untuk project Google Cloud karena ada biaya untuk mengekspor dan membuat kueri inventaris Drive Anda di BigQuery. Aktifkan penagihan untuk project.

Skema ekspor inventaris Drive

Skema dan definisi

Ekspor inventaris Drive ditambahkan ke set data BigQuery dengan skema berikut:

Nama Kolom skema Deskripsi
ID Item id ID unik item Drive untuk item.
Versi version Nomor file versi terbaru. Versi file adalah angka yang meningkat secara monoton. Hal ini mencerminkan setiap perubahan yang dibuat pada file di server, bahkan perubahan yang tidak terlihat oleh pengguna.
ID Pemilik owner.user.id

Untuk item milik pengguna, ini adalah ID pengguna pemilik file.

Email pemilik owner.user.email Untuk item milik pengguna, ini adalah email pemilik file.
ID drive bersama owner.shared_drive.id Untuk item di drive bersama, ini adalah ID drive bersama.
Pembuat creator Email dan ID pengguna pembuat item. Kolom ini tidak diisi jika kreator tidak lagi memiliki akses ke item.
Stempel waktu snapshot snapshot_start_time_micros dan snapshot_end_time_micros Stempel waktu saat pembuatan laporan dimulai dan berakhir.
Waktu Baca read_time_micros Stempel waktu saat metadata item Drive dibaca.
Judul title

Judul file yang ditentukan pengguna.

Deskripsi description Deskripsi singkat item.
Status Dibuang trashed Apakah item dipindahkan ke sampah tetapi belum dihapus.
Jenis Mime mime_type Jenis MIME item. Lihat jenis MIME yang didukung Google Workspace dan Google Drive.
Ekstensi File file_extension Komponen akhir dari ekstensi file lengkap, yang diekstrak dari kolom nama. Opsi ini hanya tersedia untuk item dengan konten biner di Google Drive
Waktu Pembuatan create_time_micros Stempel waktu saat item dibuat.
Waktu Perubahan Terakhir last_modified_time_micros Stempel waktu saat item terakhir kali diubah oleh siapa pun.
Ukuran File file_size_bytes Ukuran file Editor Dokumen dan blob dalam byte. Tidak dilaporkan untuk item yang tidak memiliki ukuran, seperti pintasan dan folder.
Kuota yang Digunakan consumed_quota_bytes Jumlah byte kuota penyimpanan yang digunakan item. Hal ini termasuk revisi utama serta revisi sebelumnya yang telah disimpan.
ID Drive Bersama shared_drive_id Untuk item di drive bersama, ini adalah ID drive bersama.
Unit Organisasi org_unit_path Unit organisasi pemilik item.
Checksum md5_checksum Checksum MD5 untuk konten item.
Enkripsi Sisi Klien client_side_encrypted Boolean yang menunjukkan apakah item dienkripsi sisi klien .
Folder induk parent ID folder induk untuk item.
Label yang Diterapkan* applied_labels.id ID label yang diterapkan ke item.
applied_labels.title Nama resource label yang diterapkan ke item.
applied_labels.field_values.id

ID kolom. ID ini unik dan ada dalam label atau library.

applied_labels.field_values.type

Jenis kolom. Dapat berupa salah satu dari hal berikut:

applied_labels.field_values.display_name

Teks yang akan ditampilkan di UI yang mengidentifikasi kolom.
ID Target Pintasan shortcut_target_id ID file atau folder yang dituju oleh pintasan ini.
Izin access.permissions.permission_id

ID izin ini. Ini adalah ID unik untuk penerima hibah.

Catatan: ID izin tidak sama dengan ID pengguna.

access.permissions.name

Nama "unik" dari nilai izin. Berikut adalah daftar contoh untuk setiap jenis izin:

  • user - Nama lengkap pengguna, seperti yang didefinisikan untuk akun Google mereka, seperti "Dana Cruz"
  • group - Nama grup, seperti "Contoh Admin"
  • domain - Nama domain string, seperti "example.com"
  • anyone - Tidak ada nama yang dilaporkan
access.permissions.type

Jenis izin. Nilai yang valid adalah:

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

Peran yang diberikan oleh izin ini. Nilai yang valid adalah:

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

Catatan: Lihat peran dan izin untuk mengetahui detail tentang jenis.

access.permissions.view

Jika izin dimiliki oleh tampilan, nilainya adalah published.

access.permissions.allow_file_discovery

Apakah izin tersebut memungkinkan file untuk ditelusuri. Hanya dilaporkan untuk izin jenis domain atau anyone.
access.permissions.email Alamat email pengguna atau grup yang dirujuk oleh izin ini.
access.permissions.domain Nama domain entitas yang dirujuk oleh izin ini. Skema ini muncul jika jenis izinnya adalah user, group, atau domain.
access.permissions.user_id ID pengguna yang terkait dengan email di izin.
access.permissions.permission_details
.permission_type
Jenis izin untuk pengguna.
access.permissions.permission_details.role Peran utama untuk pengguna.
access.permissions.permission_details
.inherited_from
ID item tempat izin ini diwarisi. Kolom ini hanya diisi untuk item di drive bersama.
access.permissions.permission_details
.inherited
Boolean yang menunjukkan apakah izin diwarisi.
access.permissions.inherited_permissions
_disabled
Apakah izin yang diwarisi dinonaktifkan untuk item ini. Hanya berlaku untuk folder dengan akses terbatas.

* Mengacu pada label yang diterapkan ke item di Drive.

Contoh kueri

Contoh kueri ini mengasumsikan legacy SQL. Ganti project_name.dataset_name dengan nama project dan nama set data Anda. Pelajari lebih lanjut cara membuat kueri data BigQuery.

Ganti project_name.dataset_name dengan nama project dan nama set data Anda.

Menampilkan tabel dengan ID File, judul, email pemilik, dan jenis.

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
)

Menemukan item dengan label tertentu

Ganti project_name.dataset_name dengan nama project dan nama set data Anda. Ganti label_id dengan ID label Anda, yang dapat Anda dapatkan di pengelola label.

Kueri ini menampilkan tabel dengan ID File, judul, email pemilik, dan jenis.

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
)

Menemukan pengguna yang melebihi nilai minimum penggunaan penyimpanan Drive

Ganti project_name.dataset_name dengan nama project dan nama set data Anda. Ganti threshold dengan nilai minimum Anda dalam MB. Misalnya, untuk menemukan pengguna yang menggunakan penyimpanan Drive lebih dari 15 GB, baris kedua dari akhir adalah HAVING total_storage_mb > 15000.

Kueri ini menampilkan email pengguna tabel dan total penggunaan penyimpanan Drive dalam MB dalam urutan menurun.

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

Menemukan jenis item yang paling banyak menggunakan ruang

Ganti project_name.dataset_name dengan nama project dan nama set data Anda.

Kueri ini menampilkan tabel jenis item berdasarkan ukuran dalam urutan menurun.

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

Menemukan item yang dienkripsi dengan enkripsi sisi klien (CSE)

Ganti project_name.dataset_name dengan nama project dan nama set data Anda.

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

Menemukan item yang dibagikan kepada pengguna tertentu

Ganti project_name.dataset_name dengan nama project dan nama set data Anda. Ganti user@example.com dengan pengguna spesifik Anda.

Catatan: Kueri ini tidak menemukan berbagi untuk pengguna melalui grup atau keanggotaan target audiens.

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
)