2013-06-17 8 views
13

में किसी फ़ोल्डर में सभी फ़ाइलों को अमान्य करें मुझे पता है कि क्लाउडफ़्रंट फ़ाइल को अमान्य करने के लिए एक तंत्र प्रदान करता है, लेकिन यदि मैं किसी विशिष्ट फ़ोल्डर में सभी फ़ाइलों को अमान्य करना चाहता हूं तो क्या होगा? दस्तावेज का उल्लेख है कि मैं ऐसा करने के लिए वाइल्डकार्ड का उपयोग नहीं कर सकता।क्लाउडफ़्रंट कंसोल

आप स्पष्ट रूप से हर वस्तु और हर निर्देशिका है कि आप CloudFront की सेवा बंद करना चाहते हैं को अमान्य करना होगा:

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

उत्तर

15

2013 में वापस, इस उत्तर के पिछले संस्करण में, मैं लिखा है: "। फ़ोल्डर"

आप क्योंकि "फ़ाइलें" CloudFront में नहीं कर रहे हैं ऐसा नहीं कर सकते सब कुछ एक वस्तु है और हर वस्तु स्वतंत्र है।

उस समय, यह पूरी तरह से सच था। यह अभी भी सच है कि सब कुछ एक वस्तु है और हर वस्तु स्वतंत्र है, लेकिन क्लाउडफ्रंट ने इसके अमान्यता तर्क को बदल दिया है। पढ़ते रहिये।

समय, यह भी सच था, और फिर, कुछ हद तक, यह अभी भी है:

CloudFront प्रलेखन का उल्लेख है "अमान्य निर्देशिका," लेकिन इस वेब साइटों है कि वास्तव में एक की अनुमति देने के लिए संदर्भित करता है निर्देशिका लिस्टिंग [जब] लिस्टिंग वह है जिसे आप अमान्य करना चाहते हैं, इसलिए यह आपकी सहायता नहीं करेगा।

हालांकि, समय में काफी बदलाव आया है।

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

वस्तुओं को अमान्य करने के लिए, आप या तो अलग-अलग वस्तुओं के लिए पथ या एक रास्ता है कि * वाइल्डकार्ड है, जो एक वस्तु के लिए या कई लोगों के लिए लागू हो सकता है के साथ समाप्त होता निर्दिष्ट कर सकते हैं, के रूप में निम्न उदाहरण में दिखाया गया है:

/images/image1.jpg

/images/image*

/images/*

—   http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html

नाइस वृद्धि। लेकिन क्या कोई पकड़ है?

इस तथ्य के अलावा कि एक अमान्यता की आवश्यकता होती है - हमेशा के रूप में - सामान्य संचालन के तहत पूरा होने के लिए 10 से 15 मिनट, उत्तर नहीं है, वास्तव में कोई पकड़ नहीं है। पहले 1,000 अमान्यता पथ (पूर्व में "अनुरोध," और "अनुरोध" एक ही ऑब्जेक्ट के लिए था) आप एक महीने के भीतर जमा करते हैं; इसके बाद, एक शुल्क है, लेकिन:

कीमत समान है कि आप अलग-अलग ऑब्जेक्ट्स को अमान्य कर रहे हैं या एकाधिक ऑब्जेक्ट्स को अमान्य करने के लिए * वाइल्डकार्ड का उपयोग कर रहे हैं।

—   http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html#PayingForInvalidation

नोट यदि आप अंत में *, तो (उदाहरण के लिए) /images/ के लिए एक अमान्यकरण शामिल नहीं हैं केवल बताते हैं कि जो कुछ भी CloudFront एकल ऑब्जेक्ट रद्द करने के लिए अपने मूल सर्वर /images/ के लिए अनुरोधों के लिए लौटाता है।

प्रमुख स्लैश वैकल्पिक के रूप में दस्तावेज किया गया है।

6

जब तक आप वस्तुओं के लिए उचित समय रद्द करने के लिए चाहते हैं के रूप में, आसान तरीके मैंने पाया में से एक Cyberduck में वस्तुओं का चयन करने के लिए, सही >Info का चयन करें और Distribution टैब पर क्लिक करें क्लिक करें और आप वहाँ से अमान्य कर सकते हैं । साइबरडक चयनित क्लाउडफ्रंट में आपके अमान्य अनुरोध को चयनित फाइलों की सूची के साथ सबमिट करेगा।

साइबरडक भी खुला स्रोत है।

enter image description here

पुनश्च: किसी भी तरह से उत्पाद के साथ संबद्ध नहीं। बस एक विकल्प सूचीबद्ध।

+0

यह यह करने के लिए एक शानदार तरीका केवल यदि आप Cyberduck खुद के माध्यम से CloudFront वितरण की स्थापना की है, लेकिन। साइबरडक पहले से मौजूद क्लाउडफ़्रंट डिस्ट्रो को पहचानने में असमर्थ लगता है। – Scottie

+2

@ स्कॉटी - मैंने अपने सभी क्लाउडफ़्रंट को अमेज़ॅन वेब कंसोल के माध्यम से सेट किया है .. मेरा साइबरडक वास्तव में सीडीएन यूआरएल को पहचानता नहीं है (और इसलिए मुझे खाली यूआरएल आदि देता है) लेकिन यह अभी भी मुझे फाइलों को अमान्य करने देता है। – iamserious

+0

हू! उस पर एक नजदीक देखो देना होगा। धन्यवाद! – Scottie

6

2015-05-25 तक, आप वाइल्डकार्ड का उपयोग करके अमान्य कर सकते हैं। उदाहरण के लिए: /* या /images/*

यह भी अब तक कम महंगा है यह अमान्यकरण के लिए एक वस्तु के बजाय/छवियों निर्देशिका में छवियों के हजारों के लिए शुल्क लिया जा रहा के रूप में गिना जाता है /images/* की तरह कुछ के रूप में इस तरह से करने के लिए,।

http://aws.amazon.com/about-aws/whats-new/2015/05/amazon-cloudfront-makes-it-easier-to-invalidate-multiple-objects/

+0

अंत में! ये अच्छी खबर है। – iamserious

+0

हाँ, यकीन है कि पर्याप्त है। उत्सुकता से, मेरा ध्यान इस प्रश्न पर वापस खींचा गया क्योंकि मुझे कल दो साल पहले मेरे अप्रचलित उत्तर पर एक उथल-पुथल मिली थी - जिसे मैं बहुत सराहना करता हूं - लेकिन मेरे जवाब को वर्तमान स्थिति की स्थिति को दर्शाने के लिए संशोधित किया गया है। –

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