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 peroleh 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 ekspor inventaris Drive

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

Skema dan definisi
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.
Pemilik

owner.user.id

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

owner.user.email

Untuk item milik pengguna, ini adalah email pemilik file.

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 Terakhir Diubah last_modified_time_micros Stempel waktu saat item terakhir kali diubah oleh siapa pun.
Ukuran Byte 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.
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 .
Parent folder parent ID folder induk untuk item.

Folder induk tidak akan diisi dalam kasus berikut:

  1. File tersebut memiliki induk di folder tingkat teratas Drive Saya milik pengguna.
  2. Folder induk tidak dimiliki oleh domain.
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.
Adalah Skema Template is_template Boolean yang menunjukkan apakah item adalah template.

* Mengacu pada label yang diterapkan ke item di Drive.

Skema drive bersama

Tabel drive bersama

Tabel ini menjelaskan skema untuk kolom khusus drive bersama dalam ekspor inventaris Drive.

Nama Kolom skema Deskripsi
ID Drive Bersama shared_drive_id ID unik drive bersama.
Nama Drive Bersama name Nama drive bersama, sebagaimana diberikan oleh pengguna.
Waktu Baca read_time_micros Stempel waktu saat metadata drive bersama dibaca, dalam mikrodetik.

Skema berbagi eksternal

Skema dan definisi berbagi eksternal

Data berbagi eksternal ditambahkan ke set data BigQuery (set data yang sama dengan skema ekspor inventaris Drive) dengan skema berikut:

Nama Kolom skema Deskripsi
Memiliki fitur berbagi eksternal access.has_external_sharing Menampilkan apakah file dibagikan kepada pengguna atau akun layanan eksternal, termasuk yang memiliki akses tidak langsung menggunakan keanggotaan grup.
  • Kolom ini disetel ke True jika file memiliki penerima berbagi eksternal, termasuk instance di mana:
    • Semua penerima berbagi adalah akun layanan.
    • Akses diizinkan oleh kontrol kebijakan.
    • File dipublikasikan secara publik.
    • File dibagikan kepada semua orang.
  • Kolom ini ditetapkan ke False jika file tidak dibagikan secara eksternal atau jika kontrol kebijakan memblokir akses untuk semua penerima berbagi eksternal.
Memiliki berbagi eksternal (tidak termasuk akun layanan) access.has_external_sharing_excluding_service_accounts Menunjukkan apakah file memiliki setidaknya satu penerima berbagi eksternal di luar organisasi. Nilai ini ditetapkan ke False jika semua penerima berbagi eksternal adalah akun layanan.
Dipublikasikan secara eksternal access.is_published_externally Menentukan apakah file dipublikasikan secara eksternal.
Dibagikan kepada semua orang access.is_shared_with_everyone Menampilkan apakah file dibagikan kepada semua orang.
Penerima berbagi eksternal

access.external_sharees.type

Menampilkan jenis penerima berbagi eksternal. Daftar berikut menunjukkan contoh untuk setiap jenis izin:

  • PENGGUNA
  • GRUP
  • TIDAK DITENTUKAN - sebagian besar akun dalam kategori ini adalah akun yang tidak diklaim

access.external_sharees.email

Menampilkan email penerima berbagi eksternal.

access.external_sharees.is_service_account

Menunjukkan apakah penerima berbagi eksternal adalah akun layanan.

access.external_sharees.access_blocked_by_policy_control

Menampilkan apakah akses diblokir oleh kebijakan (misalnya, DLP atau Aturan Kepercayaan). Jika True, penerima pembagian akan dikecualikan dari perhitungan has_external_sharing dan has_external_sharing_excluding_service_accounts.

Info DLP access.dlp_info.matching_dlp_rules Mencantumkan aturan DLP yang cocok dan diterapkan pada item ini.

Pertimbangan performa: Penghitungan kolom berbagi eksternal mungkin memerlukan waktu lebih lama untuk diselesaikan jika Anda memiliki grup dengan beberapa pengguna bertingkat. Penundaan ini dapat memengaruhi seberapa baru data Anda (misalnya, dalam laporan harian).

Contoh kueri

Contoh kueri ini mengasumsikan legacy SQL. Pelajari lebih lanjut cara membuat kueri data BigQuery.

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

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(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 batas 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
)

Menemukan item dengan nama drive bersama

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

Kueri ini menampilkan tabel dengan Judul item Drive dan Nama Drive Bersama.

SELECT i.title, s.name
FROM project_name.dataset_name.inventory AS i
JOIN project_name.dataset_name.shared_drives AS s
ON i.owner.shared_drive.id = s.shared_drive_id;

Menemukan jumlah item di drive bersama

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

Kueri ini menampilkan tabel dengan Nama Drive Bersama dan Jumlah Item.

SELECT  s.name as shared_drive, count(*) as item_count
FROM project_name.dataset_name.inventory AS i
JOIN project_name.dataset_name.shared_drives AS s
ON i.owner.shared_drive.id = s.shared_drive_id
GROUP BY shared_drive;