2012-11-19 34 views
8

मैं वर्तमान में Amazon S3 के साथ काम कर रहा हूं।क्या अमेज़ॅन एस 3 में स्पर्श() फ़ाइल करने का कोई तरीका है?

मैं एक प्रोग्राम लिख रहा हूं जो संशोधित तिथियों की जांच करता है।

मुझे संशोधित तिथियों को संपादित करने का एक समाधान है।

मैं लूप सभी फाइलों को खरीदा और उन्हें बचा सकता हूं, लेकिन यह एक खराब समाधान की तरह लगता है।

PHP में यह शानदार कार्य touch() है।

क्या कोई भी समाधान जानता है, या एक ही समस्या है? कृपया मुझे बताओ।

उत्तर

5

आप copy object अनुरोध के माध्यम से इसे प्राप्त कर सकते हैं, CopySource को लक्ष्य कुंजी के समान होने के लिए निर्दिष्ट कर सकते हैं।

संक्षेप में, यह संबंधित स्रोत और लक्ष्य बाल्टी/कुंजी के साथ PUT Object - COPY अनुरोध S3 को जारी करेगा।

+0

और क्या आप जानते हैं कि यह वास्तव में क्या करता है? क्या यह प्रत्येक फ़ाइल के लिए एक GET और PUT अनुरोध आग लगाता है? –

+0

इस जानकारी को शामिल करने के लिए मेरे जवाब को संपादित किया गया। – tkotisis

+0

बिल्कुल सही। धन्यवाद! –

13

@ डॉटोटिस उत्तर पर @ डैनियल गोल्डन की टिप्पणी के जवाब में। ऐसा लगता है कि कम से कम एडब्ल्यूएस सीएलआई उपकरण आपको किसी आइटम को कॉपी करने की अनुमति नहीं देते हैं। हालांकि आप मेटाडेटा को अपडेट करके एक प्रतिलिपि बना सकते हैं।

$ aws s3 cp --metadata '{"touched":"now"}' s3://path/to/object s3://path/to/object 

इस वस्तु का पुनर्निर्माण करने वाला (कॉलर को डाउनलोड और यह reuploads) उसकी सामग्री, मालिक और मेटाडाटा को प्रतिस्थापित किया। यह किसी भी संलग्न Lambda घटनाओं को भी ट्रिगर करेगा।

-1

एडब्ल्यूएस का समर्थन नहीं करता है जैसा कि an issue on Github में बताया गया है।