BigQuery में Drive इन्वेंट्री के एक्सपोर्ट के लिए स्कीमा और क्वेरी के उदाहरण

यह सुविधा इन वर्शन में इस्तेमाल की जा सकती है: Frontline Plus; Enterprise Standard और Enterprise Plus; Education Standard और Education Plus; Enterprise Essentials Plus; Cloud Identity Premium. अपने वर्शन की तुलना करें

Drive में मौजूद इन्वेंट्री के डेटा को एक्सपोर्ट करने की सुविधा सेट अप करने के बाद, BigQuery में डेटासेट का विश्लेषण किया जा सकता है. इस पेज पर, BigQuery से मिलने वाली सामान्य रिपोर्ट के लिए, टेबल स्कीमा और क्वेरी के उदाहरण दिए गए हैं.

ध्यान दें: आपको अपने Google Cloud प्रोजेक्ट के लिए बिलिंग सेट अप करनी होगी, क्योंकि BigQuery में Drive इन्वेंट्री को एक्सपोर्ट करने और क्वेरी करने के लिए शुल्क लगता है. किसी प्रोजेक्ट के लिए बिलिंग चालू करें .

Drive इन्वेंट्री एक्सपोर्ट स्कीमा

स्कीमा और परिभाषाएं

Drive की इन्वेंट्री के एक्सपोर्ट किए गए डेटा को BigQuery डेटासेट में जोड़ा जाता है. इसका स्कीमा यह है:

नाम स्कीमा फ़ील्ड ब्यौरा
आइटम आईडी id यह आइटम का यूनीक Drive आइटम आइडेंटिफ़ायर होता है.
वर्शन version फ़ाइल का सबसे नया वर्शन नंबर. फ़ाइल का वर्शन, लगातार बढ़ने वाली संख्या होती है. इससे सर्वर पर फ़ाइल में किए गए हर बदलाव का पता चलता है. भले ही, वे बदलाव उपयोगकर्ता को न दिखें.

मालिक

owner.user.id

किसी उपयोगकर्ता के मालिकाना हक वाले आइटम के लिए, फ़ाइल के मालिक का उपयोगकर्ता आईडी.

owner.user.email

किसी उपयोगकर्ता के मालिकाना हक वाले आइटम के लिए, फ़ाइल के मालिक का ईमेल पता.

owner.shared_drive.id

शेयर की गई ड्राइव में मौजूद आइटम के लिए, शेयर की गई ड्राइव का आईडी.

क्रिएटर creator आइटम बनाने वाले का ईमेल पता और यूज़र आईडी. अगर क्रिएटर के पास आइटम का ऐक्सेस नहीं है, तो यह फ़ील्ड नहीं दिखेगा.
स्नैपशॉट के टाइमस्टैंप snapshot_start_time_micros और snapshot_end_time_micros रिपोर्ट जनरेट होने के शुरू और खत्म होने के टाइमस्टैंप.
पढ़ने का समय read_time_micros वह टाइमस्टैंप जब Drive आइटम का मेटाडेटा पढ़ा गया था.
शीर्षक title

उपयोगकर्ता की ओर से तय किया गया फ़ाइल का टाइटल.

ब्यौरा description कम शब्दों में आइटम के बारे में जानकारी.
ट्रैश किए गए आइटम की स्थिति trashed यह जानकारी कि आइटम को ट्रैश में ले जाया गया है या नहीं. हालांकि, इसे अब तक मिटाया नहीं गया है.
MIME टाइप mime_type आइटम का MIME टाइप. Google Workspace और Google Drive के साथ काम करने वाले MIME टाइप देखें.
फ़ाइल एक्सटेंशन file_extension फ़ाइल के पूरे एक्सटेंशन का आखिरी कॉम्पोनेंट, जिसे नाम फ़ील्ड से निकाला जाता है. यह सुविधा, Google Drive में मौजूद सिर्फ़ उन आइटम के लिए उपलब्ध है जिनमें बाइनरी कॉन्टेंट होता है
बनाने का समय create_time_micros आइटम बनाए जाने का टाइमस्टैंप.
पिछली बार बदलाव करने का समय last_modified_time_micros वह टाइमस्टैंप जिससे पता चलता है कि किसी आइटम में पिछली बार कब बदलाव किया गया था.
साइज़ (बाइट में) size_bytes ब्लॉब और Docs Editors की फ़ाइलों का साइज़, बाइट में. यह उन आइटम के लिए रिपोर्ट नहीं किया जाता जिनका कोई साइज़ नहीं होता. जैसे, शॉर्टकट और फ़ोल्डर.
इस्तेमाल किया गया कोटा consumed_quota_bytes इस आइटम के लिए, स्टोरेज कोटा के इस्तेमाल किए गए बाइट की संख्या. इसमें मुख्य वर्शन के साथ-साथ, सेव किए गए पिछले वर्शन भी शामिल हैं.
संगठन की इकाई org_unit_path आइटम के मालिक के संगठन की इकाई.
चेकसम md5_checksum यह आइटम के कॉन्टेंट का MD5 चेकसम है.
क्लाइंट-साइड एन्क्रिप्शन client_side_encrypted यह बूलियन वैल्यू बताती है कि आइटम को क्लाइंट-साइड एन्क्रिप्ट (सुरक्षित) किया गया है या नहीं .
पैरंट फ़ोल्डर parent आइटम के पैरंट फ़ोल्डर का आईडी.

इन मामलों में, पैरंट फ़ोल्डर की जानकारी नहीं दिखेगी:

  1. फ़ाइल, उपयोगकर्ता की 'मेरी ड्राइव' के टॉप-लेवल फ़ोल्डर में मौजूद है.
  2. पैरंट फ़ोल्डर का मालिकाना हक डोमेन के पास नहीं है.
लागू किए गए लेबल* applied_labels.id आइटम पर लागू किए गए लेबल का आईडी.
applied_labels.title आइटम पर लागू किए गए लेबल का संसाधन नाम.
applied_labels.field_values.id

किसी फ़ील्ड का आईडी, जो किसी लेबल या लाइब्रेरी में यूनीक होता है.

applied_labels.field_values.type

फ़ील्ड का टाइप. इनमें से कोई एक स्थिति हो सकती है:

applied_labels.field_values.display_name

यूज़र इंटरफ़ेस (यूआई) में फ़ील्ड की पहचान करने वाला टेक्स्ट.
शॉर्टकट के टारगेट का आईडी shortcut_target_id उस फ़ाइल या फ़ोल्डर का आईडी जिस पर यह शॉर्टकट ले जाता है.
अनुमतियां access.permissions.permission_id

इस अनुमति का आईडी. यह अनुमति पाने वाले व्यक्ति या इकाई के लिए यूनीक आइडेंटिफ़ायर है.

ध्यान दें: अनुमति आईडी और यूज़र आईडी एक जैसे नहीं होते.

access.permissions.name

अनुमति की वैल्यू का "अच्छा" नाम. यहां हर तरह की अनुमति के उदाहरण दिए गए हैं:

  • user - उपयोगकर्ता का पूरा नाम, जैसा कि उसके Google खाते के लिए तय किया गया है. जैसे, "Dana Cruz"
  • group - ग्रुप का नाम, जैसे कि "Example Admins"
  • domain - स्ट्रिंग डोमेन नेम, जैसे कि "example.com"
  • anyone - कोई नाम नहीं बताया गया
access.permissions.type

अनुमति का टाइप. ये वैल्यू मान्य हैं:

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

इस अनुमति से मिली भूमिका. ये वैल्यू मान्य हैं:

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

ध्यान दें: टाइप के बारे में ज़्यादा जानकारी के लिए, भूमिकाएं और अनुमतियां देखें.

access.permissions.view

अगर अनुमति किसी व्यू से जुड़ी है, तो वैल्यू published होती है.

access.permissions.allow_file_discovery

क्या इस अनुमति से फ़ाइल को खोजा जा सकता है. इस समस्या की सूचना सिर्फ़ domain या anyone टाइप की अनुमतियों के लिए दी जाती है.
access.permissions.email उस उपयोगकर्ता या ग्रुप का ईमेल पता जिसे यह अनुमति दी गई है.
access.permissions.domain यह अनुमति जिस इकाई के लिए है उसका डोमेन नेम. यह तब मौजूद होता है, जब अनुमति का टाइप user, group या domain होता है.
access.permissions.user_id अनुमतियों के लिए इस्तेमाल किए गए ईमेल पते से जुड़ा उपयोगकर्ता आईडी.
access.permissions.permission_details
.permission_type
उपयोगकर्ता के लिए अनुमति का टाइप.
access.permissions.permission_details.role उपयोगकर्ता की मुख्य भूमिका.
access.permissions.permission_details
.inherited_from
उस आइटम का आईडी जिससे यह अनुमति मिली है. यह सिर्फ़ शेयर की गई ड्राइव में मौजूद आइटम के लिए अपने-आप भर जाता है.
access.permissions.permission_details
.inherited
यह बूलियन वैल्यू बताती है कि अनुमति कहीं और से मिली हुई है या नहीं.
access.permissions.inherited_permissions
_disabled
इस आइटम के लिए, इनहेरिट की गई अनुमतियां बंद हैं या नहीं. यह सिर्फ़ सीमित ऐक्सेस वाले फ़ोल्डर के लिए सही है.

* इसका मतलब है कि Drive में मौजूद आइटम पर लागू किए गए लेबल.

शेयर की गई ड्राइव का स्कीमा

शेयर की गई ड्राइव की टेबल

इस टेबल में, Drive इन्वेंट्री एक्सपोर्ट में शेयर की गई ड्राइव से जुड़े फ़ील्ड के स्कीमा के बारे में जानकारी दी गई है.

नाम स्कीमा फ़ील्ड ब्यौरा
शेयर की गई ड्राइव का आईडी shared_drive_id शेयर की गई ड्राइव का यूनीक आइडेंटिफ़ायर.
शेयर की गई ड्राइव का नाम name शेयर की गई ड्राइव का नाम, जैसा कि उपयोगकर्ता ने दिया है.
पढ़ने का समय read_time_micros शेयर की गई ड्राइव के मेटाडेटा को पढ़े जाने का टाइमस्टैंप, माइक्रोसेकंड में.

क्वेरी के उदाहरण

क्वेरी के इन उदाहरणों में, लेगसी एसक्यूएल का इस्तेमाल किया गया है. BigQuery डेटा को क्वेरी करने के बारे में ज़्यादा जानें.

project_name.dataset_name की जगह, अपने प्रोजेक्ट और डेटासेट का नाम डालें.

इस क्वेरी से, फ़ाइल आईडी, टाइटल, मालिक का ईमेल पता, और टाइप वाली टेबल मिलती है.

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_name की जगह, अपने प्रोजेक्ट और डेटासेट का नाम डालें. label_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
)

उन उपयोगकर्ताओं को ढूंढें जिन्होंने Drive के स्टोरेज का इस्तेमाल तय सीमा से ज़्यादा किया है

project_name.dataset_name की जगह, अपने प्रोजेक्ट और डेटासेट का नाम डालें. threshold की जगह, एमबी में अपना थ्रेशोल्ड डालें. उदाहरण के लिए, Drive के 15 जीबी से ज़्यादा स्टोरेज का इस्तेमाल करने वाले उपयोगकर्ताओं को ढूंढने के लिए, आखिरी से दूसरी लाइन HAVING total_storage_mb > 15000 है.

इस क्वेरी से, उपयोगकर्ताओं के ईमेल पते और उनके इस्तेमाल किए गए कुल Drive स्टोरेज की जानकारी मिलती है. यह जानकारी, घटते क्रम में होती है.

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_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

क्लाइंट-साइड एन्क्रिप्शन (सीएसई) की मदद से एन्क्रिप्ट (सुरक्षित) किए गए आइटम ढूंढना

project_name.dataset_name की जगह, अपने प्रोजेक्ट और डेटासेट का नाम डालें.

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

किसी उपयोगकर्ता के साथ शेयर किए गए आइटम ढूंढना

project_name.dataset_name की जगह, अपने प्रोजेक्ट और डेटासेट का नाम डालें. user@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
)

शेयर की गई ड्राइव के नाम से आइटम ढूंढना

project_name.dataset_name की जगह, अपने प्रोजेक्ट और डेटासेट का नाम डालें.

इस क्वेरी से, Drive आइटम के टाइटल और शेयर की गई ड्राइव के नाम वाली टेबल मिलती है.

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;

शेयर की गई ड्राइव में मौजूद आइटम की संख्या ढूंढना

project_name.dataset_name की जगह, अपने प्रोजेक्ट और डेटासेट का नाम डालें.

यह क्वेरी, शेयर की गई ड्राइव के नाम और आइटम की संख्या वाली टेबल दिखाती है.

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;