7

मैं डेटा फ़ाइलों को संग्रहीत करने और पुनर्प्राप्त करने के लिए डेटास्टोर बनाम ब्लॉबस्टोर से संबंधित सभी स्टैक ओवरफ्लो पढ़ रहा हूं। सब कुछ ब्लॉबस्टोर की तरफ इशारा कर रहा है सिवाय इसके कि: गोपनीयता और सुरक्षा।ndb.BlobProperty बनाम BlobStore: जो अधिक निजी और अधिक सुरक्षित है

डेटास्टोर में, मेरे उपयोगकर्ताओं की तस्वीरें निजी हैं: मेरा पूरा नियंत्रण है कि ब्लॉब कौन प्राप्त करता है। ब्लॉबस्टोर में, हालांकि, जो भी यूआरएल जानता है वह मेरे उपयोगकर्ताओं की तस्वीरों को समझने योग्य है? क्या यह सच है?

यहां एक उद्धरण है जो मुझे मन की शांति दे रहा है, लेकिन यह अभी भी स्पष्ट नहीं है। तो ब्लॉब कुंजी वाला कोई भी व्यक्ति अभी भी फोटो तक पहुंच सकता है? (Store Photos in Blobstore or as Blobs in Datastore - Which is better/more efficient /cheaper? से)

जिस तरह से आप Blobstore से बाहर एक मूल्य की सेवा एप्लिकेशन के लिए एक अनुरोध स्वीकार करने के लिए, तो कुंजी के साथ एक्स-AppEngine-BlobKey हैडर के साथ जवाब है। ऐप इंजन आउटगोइंग प्रतिक्रिया को रोकता है और सीधे सेवा से स्ट्रीम किए गए ब्लॉबस्टोर मान के साथ शरीर को प्रतिस्थापित करता है। चूंकि ऐप लॉजिक हेडर को पहले स्थान पर सेट करता है, तो ऐप को किसी भी एक्सेस कंट्रोल को कार्यान्वित कर सकता है। कोई डिफ़ॉल्ट यूआरएल नहीं है जो बिना किसी हस्तक्षेप के ब्लॉबस्टोर से सीधे मूल्यों परोसता है।

यह सब पूछना है: छवियों की तस्करी के लिए कौन सा निजी और अधिक सुरक्षित है, और क्यों: डेटास्टोर या ब्लॉबस्टोर? या, हे, (जो मैं के बारे में इस समय कुछ भी नहीं पता) गूगल-बादल भंडारण

+0

मैं भी इस में देख रहा हूँ, मुझे लगता है कि Blobstore संचालकों या सेवाओं के माध्यम से पहुंच, उपयोगकर्ता अभिगम नियंत्रण –

+0

और Blobstore हो सकता है को नियंत्रित करने के लिए सबसे अच्छा है कि मैं क्या पढ़ा है से बादल भंडारण के समान है –

उत्तर

2

आप तो हाँ, the url returned is public google.appengine.api.images.get_serving_url का उपयोग करते हैं। हालांकि लौटाई गई यूआरएल ब्लॉब की कुंजी से अनुमानित नहीं है, न ही get_serving_url को कॉल करने से पहले यूआरएल भी मौजूद है। (या delete_serving_url को कॉल करने के बाद)।

यदि आपको ब्लॉबस्टोर you can write your own handlers में डेटा के शीर्ष पर पहुंच नियंत्रण की आवश्यकता है और वहां पहुंच नियंत्रण जोड़ें।

0

BlobPropertyBlobStore के रूप में निजी और सुरक्षित है, सभी आपके आवेदन पर निर्भर करता है जो अनुरोधों को पूरा करता है। आपका आवेदन उपयोगकर्ता को सामग्री भेजने से पहले किसी भी अनुमति जांच को कार्यान्वित कर सकता है, इसलिए जब तक आप सभी छवियों को स्वयं सेवा नहीं देते हैं और जानबूझकर सार्वजनिक रूप से उपलब्ध यूआरएल नहीं बनाते हैं, तब तक मुझे कोई फर्क नहीं पड़ता।

असल में, मैं BlobProperty में फ़ोटो संग्रहीत करने के बारे में भी पतला नहीं होगा, क्योंकि इस तरह से डेटा BlobStore के बजाय डेटाबेस में समाप्त होता है और यह डेटाबेस में डेटा स्टोर करने के लिए काफी अधिक खर्च करता है। दूसरी ओर, BlobStore, सस्ते और सुविधाजनक है।

संबंधित मुद्दे