2012-07-21 9 views
18

थंबनेल यूआरएल में उनमें पैराम हैं। मुझे यकीन नहीं है क्यों। मुझे लगता है कि वे सॉर्ल-थंबनेल या बोटो स्टोरेज से संबंधित हैं जो हम उपयोग कर रहे हैं। मैं यूआरएल से अतिरिक्त पैरा कैसे हटा सकता हूं? क्या वे बोटो/एस 3 या सॉर्ल से आ रहे हैं। मुझे नहीं पता कि डीबग कैसे करें।यूआरएल पैराम्स में हस्ताक्षर/समाप्ति/एक्सेस कुंजी आईडी दिखाई दे रही है। Django/Boto/S3

+0

क्या आप यहां यूआरएल का एक उदाहरण पेस्ट कर सकते हैं? – Keshi

+0

यहां एक उदाहरण दिया गया है: https://eniyiyorumlar.s3.amazonaws.com/media/product_photos/yuruyus-bandi/dynamic-v100.jpg?Signature=4C45X28vHf07rkVXj4hvqxAxTeg%3D&Expires=1342920217&AWSAccessKeyId=AKIAJIDT4T4CVUPDP7RQ - यह बोटो से आ रहा है, मैं नहीं करता सॉर्ल का उपयोग करें और मुझे एक ही आउटपुट मिलता है। एक ही प्रश्न है – Intenex

उत्तर

5

अतिरिक्त पैरामीटर जो जोड़े जा रहे हैं Query String Authentication लागू करने के लिए हैं। यह आपको S3 में संग्रहीत निजी संसाधनों के लिए URL को पूर्व-हस्ताक्षर करने की अनुमति देता है। जब तक किसी के पास पूर्व-हस्ताक्षरित यूआरएल (और यह समाप्त नहीं हुआ है) तब तक वे इन संसाधनों तक पहुंच पाएंगे, भले ही वे सार्वजनिक रूप से पठनीय नहीं हैं।

अतिरिक्त पैरामीटर के बिना, इन निजी S3 संसाधनों तक सार्वजनिक पहुंच प्रदान करने का कोई तरीका नहीं है।

+0

एस 3 क्यों निजीकृत किया जाता है? मैं उन्हें सार्वजनिक कैसे बना सकता हूं? – LILI

+0

एस 3 में डिफ़ॉल्ट रूप से सभी सामग्री निजी है। आप इसे बोटो में कुंजी ऑब्जेक्ट की make_public() विधि का उपयोग करके सार्वजनिक रूप से पठनीय में बदल सकते हैं या यदि आप एक जीयूआई का उपयोग करना पसंद करते हैं तो आप एडब्ल्यूएस कंसोल का उपयोग कर सकते हैं। – garnaat

+0

Boto3 नहीं जानता कि वे निजी हैं या नहीं - डिफ़ॉल्ट URL पर हस्ताक्षर करना है ताकि इसे किसी भी तरह से एक्सेस किया जा सके। यदि वे सार्वजनिक हैं तो आप सेटिंग लागू कर सकते हैं ताकि यूआरएल – r3m0t

58

उपयोग: AWS_QUERYSTRING_AUTH = झूठी मेरे लिए

+18

से हस्ताक्षर छोड़ा जा सके। इस उत्तर को उपयोगी होने के लिए और अधिक जानकारी चाहिए। – rjsvaljean

+4

यह बदतर रूप से दस्तावेज है, लेकिन यह वास्तव में आपको चाहिए। यदि आपकी बाल्टी सार्वजनिक रूप से सभी के लिए देखने योग्य है (जिसे आप मीडिया के लिए चाहते हैं), तो यह प्रमाणीकरण पैरामीटर को हटा देता है। – Alper

2

काम करता है: AWS_QUERYSTRING_AUTH = झूठी

का उपयोग कर इस https://github.com/mstarinteractive/django-s3storage

from myapp.s3storage import S3BotoStorage 
from django.contrib.staticfiles.storage import CachedFilesMixin 


class CachedStaticS3BotoStorage(CachedFilesMixin, S3BotoStorage): 

    """Extends S3BotoStorage to save static files with hashed filenames.""" 
    pass 
StaticRootS3BotoStorage = lambda: CachedStaticS3BotoStorage(location='static') 
0

यह अजीब व्यवहार है: गूगल डॉक्स प्रीव्यूअर काम करते हैं और बिना एक पूर्वावलोकन प्रदर्शित करेगा पैरामीटर, लेकिन अगर बोटो हस्ताक्षर संलग्न करता है तो कोई पूर्वावलोकन उपलब्ध नहीं होगा।

<iframe src="{% trans "https://docs.google.com/viewer?embedded=true&amp;url=" %}{{ document.file.url }}" width="451" height="390" style="border: none;"></iframe>

मैं कुछ याद आ रही किया जाना चाहिए।

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

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