का उपयोग कर मौजूदा एस 3 ऑब्जेक्ट के लिए हेडर का समय समाप्त करता है मैं कुछ मेटाडेटा सेट करने के लिए अमेज़ॅन एस 3 बाल्टी में मौजूदा ऑब्जेक्ट्स अपडेट कर रहा हूं। HTTP/1.0 क्लाइंट को बेहतर तरीके से संभालने के लिए मैं प्रत्येक ऑब्जेक्ट के लिए HTTP Expires
शीर्षलेख सेट करना चाहता हूं।सेट एडब्ल्यूएस जावा एसडीके
हम AWS Java SDK का उपयोग कर रहे हैं, जो ऑब्जेक्ट सामग्री को फिर से अपलोड किए बिना किसी ऑब्जेक्ट में मेटाडेटा परिवर्तनों की अनुमति देता है। हम ऑब्जेक्ट को कॉपी करने के लिए CopyObjectRequest का उपयोग करके ऐसा करते हैं। ObjectMetadata वर्ग हमें Cache-Control
, Content-Type
और कई अन्य शीर्षलेख सेट करने की अनुमति देता है। लेकिन Expires
शीर्षलेख नहीं।
मुझे पता है कि एस 3 स्टोर्स और आरईएसटी एपीआई का उपयोग कर ऑब्जेक्ट्स के लिए Expires
शीर्षलेख परोसता है। जावा एसडीके से ऐसा करने का कोई तरीका है?
संकेत मिलता है कि हम प्रयोग कर रहे हैंCopyObjectRequest
मुझे बेहतर समझाया जाना चाहिए कि हम इसे करने के लिए 'CopyObjectRequest' का उपयोग कर रहे हैं। मैंने इसे प्रतिबिंबित करने के लिए प्रश्न अपडेट किया है। – bkirkbri
'ऑब्जेक्टमैटाडाटा.सेट हैडर' को केवल आंतरिक उपयोग के रूप में चिह्नित किया गया है। क्या आपने इसका सफलतापूर्वक उपयोग किया है? हमारा कोड केवल एक बार चलने जा रहा है, इसलिए अमेज़ॅन में बदलाव होने पर हमें इसके बारे में चिंता करने की आवश्यकता नहीं होगी। लेकिन वाईएमएमवी। – bkirkbri
हम्म, मुझे वास्तव में उस प्रतिबंध के बारे में पता नहीं था, लेकिन कुछ समय पहले 'समाप्त हो गया' का उपयोग करने की याद आती है; हालांकि मैं गलत हो सकता हूं, हालांकि मैं अक्सर एस 3 के साथ बातचीत करने के लिए अन्य एसडीके का उपयोग करता हूं (उदाहरण के लिए सी #/पायथन, जो निश्चित रूप से इसका समर्थन करता है) और इसे मिश्रित कर सकता था - कोड स्वयं अन्य 'setXYZHeader() ' वर्तमान में विधियां (देखें [ऑब्जेक्टमैटाडाटा.जावा] (https://github.com/amazonwebservices/aws-sdk-for-java/blob/master/src/main/java/com/amazonaws/services/s3/model/ObjectMetadata। जावा # एल 141)), इसलिए प्रतिबंध किसी भी दृश्यमान दुष्प्रभाव पर आधारित होगा, यदि कोई हो। –