क्लाइंट-साइड एन्क्रिप्शन वाली फ़ाइलों को एक साथ इंपोर्ट करने के सबसे सही तरीके

इस गाइड में, Drive API का इस्तेमाल करके, क्लाइंट-साइड एन्क्रिप्ट (सीएसई) की गई फ़ाइलों को एक साथ इंपोर्ट करने के लिए, कस्टम टूल बनाने के सबसे सही तरीकों के बारे में बताया गया है.

सेल्फ़-सर्विस माइग्रेशन के लिए, Drive for desktop का इस्तेमाल करें

कोई उपयोगकर्ता, Drive for desktop क्लाइंट का इस्तेमाल करके, अपनी लोकल मशीन से फ़ाइलें इंपोर्ट कर सकता है. यह क्लाइंट-साइड एन्क्रिप्शन की सुविधा के साथ काम करता है. साथ ही, उपयोगकर्ताओं को फ़ाइलों को एन्क्रिप्ट (सुरक्षित) करने और उन्हें अपलोड करने की सुविधा देता है. इस गाइड में बताई गई कस्टम टूल बनाने की प्रोसेस, सिर्फ़ बड़े पैमाने पर, बिना किसी निगरानी के, या एक से ज़्यादा उपयोगकर्ताओं के लिए एक साथ कई फ़ाइलें इंपोर्ट करने के लिए ज़रूरी है.

शुरू करने से पहले

आपको क्लाइंट-साइड एन्क्रिप्शन वाली किसी फ़ाइल को मैनेज करने का तरीका पता होना चाहिए. सीएसई की अलग-अलग फ़ाइलें मैनेज करना लेख पढ़ें. इसमें एन्क्रिप्शन, अपलोड/डाउनलोड, और डिक्रिप्शन के बुनियादी चरणों के बारे में बताया गया है. साथ ही, इसमें टोकन जनरेट करने और कुंजी ऐक्सेस कंट्रोल लिस्ट सेवा (केएसीएलएस) के साथ इंटरैक्ट करने के बारे में भी बताया गया है.

सेवा खाते का इस्तेमाल करके पुष्टि करना

Drive API के साथ इंटरैक्ट करते समय, डोमेन-वाइड डेलिगेशन वाले सेवा खाते का इस्तेमाल करें. इससे आपका ऐप्लिकेशन, उपयोगकर्ताओं की पहचान का इस्तेमाल कर सकता है. इसलिए, आपके पास प्रोग्राम के हिसाब से उपयोगकर्ताओं को लूप करने और उनकी ओर से सीधे तौर पर फ़ाइलें अपलोड करने का विकल्प होता है.

डायरेक्ट्री स्ट्रक्चर को फिर से बनाना

अपने इंपोर्ट टूल को इस तरह से डिज़ाइन करें कि वह सोर्स फ़ाइलों और फ़ोल्डर को बार-बार स्कैन करे, ताकि Drive में मौजूदा डायरेक्ट्री स्ट्रक्चर को कॉपी किया जा सके. बड़े लेवल पर, यह प्रोसेस इस तरह काम करती है:

  1. हर सोर्स डायरेक्ट्री के लिए, उससे मिलता-जुलता Drive फ़ोल्डर बनाएं.
  2. बनाए गए Drive फ़ोल्डर में, डायरेक्ट्री की फ़ाइलों को एन्क्रिप्ट (सुरक्षित) करके अपलोड करें.
  3. सबडायरेक्ट्री के लिए भी यही प्रोसेस दोहराएं.

सही जगह पर फ़ाइलें अपलोड करना

हमेशा फ़ाइलों को सही उपयोगकर्ता की 'मेरी ड्राइव' या ऐक्सेस की जा सकने वाली शेयर की गई ड्राइव में अपलोड करें. शेयर की गई ड्राइव या फ़ोल्डर का आईडी ढूंढने के लिए, Drive के वेब यूआरएल से इसे स्टैटिक तौर पर ढूंढें. इसके अलावा, drives.list और files.list तरीकों का इस्तेमाल करके इसे डाइनैमिक तौर पर भी ढूंढा जा सकता है.

डुप्लीकेट को रोकना

Drive में, एक ही फ़ोल्डर में मौजूद कई फ़ाइलों के नाम एक जैसे हो सकते हैं. अपलोड करने से पहले, अपनी फ़ाइलों के लिए आईडी जनरेट करें. इसके लिए, Drive API files.generateIds तरीके का इस्तेमाल किया जा सकता है.

पहले से जनरेट किए गए इन आईडी को सेव करके, इंपोर्ट करने वाला व्यक्ति या कंपनी हर फ़ाइल को उसके आईडी पर अपलोड करने की कोशिश कर सकती है. अगर उस आईडी वाली कोई फ़ाइल पहले से मौजूद है, तो आपका टूल उसे सुरक्षित तरीके से छोड़ सकता है. पहले से जनरेट किए गए आईडी का इस्तेमाल करने से, आपका टूल क्रैश होने की समस्या से ठीक हो जाएगा.

हर अपलोड से पहले, सीएसई टोकन का अनुरोध करें

हर फ़ाइल के लिए, मुख्य रैपिंग और फ़ाइल अपलोड करने से ठीक पहले generateCseToken को कॉल करें. इस तरीके से यह पक्का किया जाता है कि टोकन, उससे जुड़े मेटाडेटा की मौजूदा स्थिति को सटीक तरीके से दिखाता हो. यह स्थिति बदल सकती है.

बड़ी फ़ाइलों के लिए, फिर से शुरू किए जा सकने वाले अपलोड का इस्तेमाल करना

बड़ी फ़ाइलों को माइग्रेट करने के लिए, Drive API के फिर से शुरू किए जा सकने वाले अपलोड का इस्तेमाल करें. फिर से शुरू किए जा सकने वाले अपलोड की सुविधा की मदद से, इंपोर्ट करने वाला व्यक्ति नेटवर्क में रुकावट आने पर, फ़ाइल के उन हिस्सों को फिर से अपलोड कर सकता है जो अपलोड नहीं हुए थे. इसके लिए, उसे पूरी फ़ाइल को फिर से अपलोड करने की ज़रूरत नहीं होती.

शेयर करने की अनुमतियां वापस लाना

अगर बड़े पैमाने पर डेटा इंपोर्ट करने वाले टूल को शेयर करने की अनुमतियां बनाए रखनी हैं, तो पहले फ़ाइल को एन्क्रिप्ट (सुरक्षित) करके अपलोड करें. इसके बाद, permissions.create तरीके का इस्तेमाल करें. फ़ाइल अपलोड करते समय, शेयर करने की अनुमतियां लागू नहीं होती हैं.

टोकन की समयसीमा खत्म होने की समस्या हल करना

लंबे समय तक चलने वाली कार्रवाइयों के लिए, आपकी स्क्रिप्ट को टोकन की समयसीमा खत्म होने की वजह से पुष्टि करने से जुड़ी गड़बड़ियों का सामना करना पड़ सकता है. लॉजिक लागू करें, ताकि ऐक्सेस टोकन अपने-आप रीफ़्रेश हो जाएं और अपलोड करने की प्रोसेस फिर से शुरू हो जाए. ज़्यादा जानकारी के लिए, ओपन सोर्स का उदाहरण देखें. इसमें बताया गया है कि किसी एक फ़ाइल को कैसे एन्क्रिप्ट (सुरक्षित) किया जाता है और अपलोड किया जाता है.

इंपोर्ट की गई फ़ाइलों की अच्छी तरह से पुष्टि करें

एक साथ कई खातों को इंपोर्ट करने के बाद, उनकी पुष्टि करें. Google, सर्वर-साइड पर आपकी फ़ाइलों को डिक्रिप्ट और पुष्टि नहीं कर सकता. इंपोर्ट की गई फ़ाइलों की पुष्टि करें सेक्शन में, अलग-अलग फ़ाइलों की जांच करने के कई तरीकों के बारे में बताया गया है.

बड़े पैमाने पर पुष्टि करने का एक और तरीका है. यह खास तौर पर, एक साथ कई फ़ाइलें इंपोर्ट करने के बाद काम आता है. इसके लिए, आधिकारिक डिक्रिप्टर टूल का इस्तेमाल किया जाता है. सबसे पहले, Google Takeout का इस्तेमाल करके, Drive से एन्क्रिप्ट (सुरक्षित) किया गया कॉन्टेंट डाउनलोड करें. इसके बाद, डिक्रिप्टर टूल का इस्तेमाल करके, फ़ाइल को डिक्रिप्ट करने की कोशिश करें. इस प्रोसेस से, उन फ़ाइलों का पता लगाने में मदद मिलती है जिन्हें डिक्रिप्ट (सुरक्षित नहीं) नहीं किया जा सकता. इससे, इंपोर्ट टूल के एन्क्रिप्शन या की रैपिंग लॉजिक में संभावित समस्याओं का पता चलता है.

सीमाओं और कोटे के बारे में जानकारी

क्लाइंट-साइड एन्क्रिप्शन वाली फ़ाइलों पर, Drive की स्टैंडर्ड सीमाएं और कोटा लागू होते हैं. शेयर की गई ड्राइव की सीमाओं, फ़ाइल और फ़ोल्डर की सामान्य सीमाओं, और अपने कोटे को मैनेज करने के तरीके के बारे में जानें. इसके अलावा, आपके इंपोर्ट टूल को कुंजी ऐक्सेस कंट्रोल लिस्ट सर्विस (केएसीएलएस) और आइडेंटिटी प्रोवाइडर (आईडीपी) की दर सीमाएं मैनेज करनी होंगी.