2010-07-13 11 views
7

मैं एक गहरे लाल रंग का lib (http://amazon.rubyforge.org/)स्वचालित रूप से हटाया जा रहा अमेज़न S3 में n दिनों (कैसे?)

मैं तस्वीरें परवाह नहीं है से अधिक उम्र के 1 सप्ताह का उपयोग कर अमेज़न S3, में कई छवियों के संचय कर रहा हूँ से अधिक उम्र के वस्तुओं, फिर एस 3 में जगह मुक्त करने के लिए मुझे उन तस्वीरों को हटाना होगा।

मुझे पता है कि एक निश्चित बाल्टी में वस्तु को हटाने के लिए एक विधि है:

S3Object.delete 'photo-1.jpg', 'photos' 

वहाँ स्वतः ही छवि एक सप्ताह से अधिक पुराने को हटाने के लिए कोई तरीका है?

यदि यह मौजूद नहीं है, मैं एक डेमॉन लिखने के लिए कि :-(

धन्यवाद


अद्यतन करना होगा:। अब यह संभव है, रॉबर्टो के जवाब की जांच

+0

एक बेहतर उत्तर है तो चिह्नित एक ... –

उत्तर

1

दुर्भाग्य से, अमेज़न मापदंड का एक विशिष्ट सेट के आधार पर स्वत: हटाने के लिए कोई API प्रस्तुत नहीं करता है।

आप एक डेमॉन है कि तस्वीरों के सभी के माध्यम से चला जाता है लिखने के लिए की आवश्यकता होगी और केवल उन लोगों का चयन करता है जो आपके मानदंडों को पूरा करते हैं, और फिर उन्हें एक-एक करके हटा दें।

+3

चेतावनी! - नीचे रॉबर्टो की पोस्ट देखें। यह अब किया जा सकता है। – digiguru

1

यदि आपके पास स्थानीय डेटाबेस तक पहुंच है, तो बस प्रत्येक छवि को लॉग करना आसान है (आप इसे पहले से ही अपने आवेदन के आधार पर कर सकते हैं), और फिर आप संपूर्ण सूची को पुनर्प्राप्त करने और उन्हें प्रत्येक को हटाने के लिए एक सरल क्वेरी कर सकते हैं । यह सीधे S3 से पूछताछ करने से बहुत तेज़ है, लेकिन किसी प्रकार के स्थानीय भंडारण की आवश्यकता होती है।

42

आप लॉग फ़ाइलें या अन्य फ़ाइलें है कि एक सीमित जीवन स्टोर करने के लिए S3 का उपयोग करते हैं अमेज़न S3 वस्तु का समय समाप्त होने नीति

Amazon S3 - Object Expiration | AWS Blog

उपयोग कर सकते हैं, तो आप शायद कुछ का निर्माण करने के लिए किया था ट्रैक ऑब्जेक्ट की आयु में तंत्र की तरह और समय से समय तक थोक हटाने की प्रक्रिया शुरू करने के लिए। यद्यपि हमारा नया मल्टी-ऑब्जेक्ट डिलीशन फ़ंक्शन आपको पर मदद करेगा, इस प्रक्रिया को तेज़ी से और आसान बनाने के लिए, हम कभी भी आगे जाना चाहते हैं।

एस 3 का नया ऑब्जेक्ट एक्सपीरेशन फ़ंक्शन आपको नियमों को परिभाषित करने की अनुमति देता है पूर्व-निर्धारित समय अवधि के बाद आपकी ऑब्जेक्ट को हटाने का शेड्यूल करता है। नियम जीवनचक्र विन्यास नीति में निर्दिष्ट हैं कि आप बाल्टी पर लागू होते हैं। आप एडब्ल्यूएस प्रबंधन कंसोल से एस 3 एपीआई या के माध्यम से इस नीति को अपडेट कर सकते हैं।

Object Expiration | AWS S3 Documentation

कुछ वस्तुएं जिन्हें आप एक अमेज़न S3 बाल्टी में भंडारित करने के लिये अच्छी तरह से परिभाषित जीवन हो सकता है। उदाहरण के लिए, आप अपनी बाल्टी पर आवधिक लॉग अपलोड कर सकते हैं, लेकिन आपको विशिष्ट समय के लिए उन लॉग को बनाए रखने की आवश्यकता हो सकती है।आप ऑब्जेक्ट लाइफसाइक्ल प्रबंधन का उपयोग करके अपनी बाल्टी में ऑब्जेक्ट्स के लिए जीवनकाल निर्दिष्ट करने के लिए उपयोग कर सकते हैं; जब ऑब्जेक्ट का जीवनकाल समाप्त हो जाता है, तो अमेज़ॅन एस 3 हटाने के लिए ऑब्जेक्ट्स को कतारबद्ध करता है।

Ps: अधिक जानकारी के लिए लिंक पर क्लिक करें।

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