2012-09-29 2 views
11

यदि मैं बाल्टी में किसी ऑब्जेक्ट के फ़ाइल नाम के समान फ़ाइल नाम के साथ S3 पर फ़ाइल अपलोड करता हूं तो यह इसे ओवरराइट करता है। समान फ़ाइल नामों वाली फ़ाइलों को ओवरराइट करने से बचने के लिए कौन से विकल्प मौजूद हैं? मैंने अपनी बाल्टी में वर्जनिंग को सक्षम किया क्योंकि यह समस्या को हल करेगा लेकिन ऑब्जेक्ट्स अभी भी ओवरराइट किए गए हैं।अमेज़ॅन एस 3 उसी नाम के साथ ऑब्जेक्ट्स ओवरराइट करने से बचें

+0

मुझे यकीन नहीं है, लेकिन नहीं कर सकते हैं आप इस ऑब्जेक्ट के लिए केवल पढ़ने के लिए एसीएल सेट कर सकते हैं? मेरा मतलब है, आपके द्वारा अपलोड की जाने वाली प्रत्येक वस्तु के लिए। – Prinzhorn

+0

मैं एसीएल को सार्वजनिक रूप से सेट कर रहा हूं क्योंकि फ़ाइलों को किसी के द्वारा देखा जा सकता है। – CyberJunkie

उत्तर

6

उपरोक्त से मेरी टिप्पणी काम नहीं करती है। मैंने सोचा कि WRITE एसीएल ऑब्जेक्ट्स पर भी लागू होगा, लेकिन यह केवल बाल्टी पर काम करता है।

चूंकि आपने संस्करण सक्षम किया है, इसलिए आपकी ऑब्जेक्ट्स ओवरराइट नहीं की गई हैं। लेकिन अगर आप अपने जीईटी अनुरोध या यूआरएल में संस्करण निर्दिष्ट नहीं करते हैं, तो नवीनतम संस्करण लिया जाएगा। इसका मतलब यह है कि जब आप S3 में डालते हैं और ऑब्जेक्ट करते हैं तो आपको संस्करण आईडी को सहेजने की आवश्यकता होती है, प्रतिक्रिया आपको पहली वस्तु को पुनर्प्राप्त करने के लिए बताती है।

अधिक के लिए Amazon S3 ACL for read-only and write-once access देखें।

+0

धन्यवाद! मैं कोशिश करूँगा। – CyberJunkie

2

आप सीमित अनुमतियों वाले आईएएम उपयोगकर्ता को भी कॉन्फ़िगर कर सकते हैं। लेखन अभी भी लिख रहे हैं (यानी, अद्यतन), लेकिन एक आईएएम उपयोगकर्ता का उपयोग करना वैसे भी एक अच्छा अभ्यास है।

मालिक (यानी, आपकी "लंबी अवधि की पहुंच कुंजी और गुप्त कुंजी") का पूर्ण नियंत्रण होता है जब तक कि आप इसे अक्षम करने के अपने तरीके से पूरी तरह से बाहर नहीं जाते।

+0

धन्यवाद मैंने इसके बारे में सोचा नहीं है। एक उपयोगकर्ता जो अपडेट/ओवरराइट नहीं कर सकता वह आदर्श होगा यदि मैं इसे एडब्ल्यूएस में सेट कर सकता हूं। – CyberJunkie

+1

आपको दस्तावेज़ीकरण को दोबारा जांचना होगा। मुझे नहीं पता कि एस 3 _write_ और _update_ के बीच अंतर को समझता है या नहीं। मुझे पता है कि डिफ़ॉल्ट रूप से (यानी, पूर्ण अनुमतियां), लिखते हैं और अपडेट एक ही चीज़ के रूप में माना जाता है। –

1

यदि आप अपनी एस 3 बाल्टी पर प्रत्येक फ़ाइल की कुंजी स्टोर करने के लिए डीबी का उपयोग कर रहे हैं तो मेरा सुझाव यहां दिया गया है।

एक यादृच्छिक कुंजी उत्पन्न करें। अपने डीबी की कुंजी डालने/अपडेट करने का प्रयास करें, एक अनन्य बाधा वाले क्षेत्र में जो शून्य प्रविष्टि की अनुमति देता है। यदि यह विफल हो जाता है तो कुंजी का उपयोग किया गया है, तब तक दोहराएं जब तक आपको एक अनूठी कुंजी न मिल जाए।

फिर अपनी फ़ाइल को अपनी कुंजी के साथ एस 3 पर रखें जो आपको पता है अद्वितीय है।