इस पेंचकस में हम देखते हैं कि कैसे हम अमेजन S3 (सिंपल स्टोरेज सर्विस) पर फाइलों को इस तरह से होस्ट कर सकते हैं कि हम उन एसेट्स को यूज करने के लिए लिंक कर सकते हैं, लेकिन उन्हें पूरी तरह से सार्वजनिक नहीं कर सकते। केवल लॉज में उपयोगकर्ताओं के लिए लॉग इन, सदस्यता के लिए उन्हें सुलभ बनाते हैं।
जिस समय मैंने यह स्क्रैंकास्ट रिकॉर्ड किया था, उस समय HTML5 का उपयोग करने की योजना थी और इसमें
अमेज़ॅन होस्टेड (और संरक्षित) वीडियो के लिंक के अंदर तत्व थे। तब से मैंने वीडियो प्रदर्शित करने के लिए Vimeo का उपयोग करने के लिए स्विच किया (केवल Vimeo PRO के माध्यम से इस साइट पर संरक्षित है। लेकिन, यह विचार अभी भी प्रासंगिक है, खासकर क्योंकि हम अभी भी S3 के माध्यम से सीधे डाउनलोड प्रदान करते हैं।
क्यों S3? डाउनलोड के लिए अपने स्वयं के वेब सर्वर पर फ़ाइलों की मेजबानी पूरी तरह से अव्यावहारिक है। नियमित रूप से होस्टिंग के लिए बहुत अधिक बैंडविड्थ, और मैं नहीं चाहता कि मेरी वेबसाइट को प्रदर्शित करने में एक ही सर्वर प्रभारी व्यस्त हो, जो अन्य स्वतंत्र कनेक्शनों के साथ विशाल फ़ाइलों को सेवा देने में व्यस्त हो। S3 इस तरह की चीज के लिए एकदम सही है।
हम इन्हें "सुरक्षित" लिंक द्वारा पूरा करते हैं:
- फ़ाइलों को S3 पर अपलोड करना (मैक ऐप ट्रांसमिशन के माध्यम से, जिसमें आसान S3 समर्थन है)
- लॉज वीडियो पेजों पर फ़ाइल नाम के साथ एक कस्टम फ़ील्ड बनाएं
- फ़ाइल नाम से एक एक्सपायरिंग लिंक जेनरेट करें
- टेम्प्लेट में जहाँ आवश्यक हो, लिंक का उपयोग करें
हम लिंक जनरेटर को एक अलग फ़ाइल बनाते हैं, इसलिए हम इसे किसी भी पृष्ठ पर शामिल कर सकते हैं, जिसे यह करने की आवश्यकता है। अच्छा है कि यह PHP है और जावास्क्रिप्ट नहीं है, इसलिए इन लिंक को उत्पन्न करने के लिए आवश्यक हमारी गुप्त कुंजी स्वाभाविक रूप से सुरक्षित हैं।