9

मैं एक संपूर्ण स्थैतिक वेबसाइट को अमान्य करने का प्रयास कर रहा हूं। निम्न आदेश /index.html को अमान्य नहीं लगता है और नीचे दिखाए गए आइटमों का एक अजीब आउटपुट देता है, जैसा कि नीचे दिखाया गया है। क्या यह एडब्ल्यूएस सीएलआई व्यवहार सामान्य है या क्या मुझे कुछ याद आ रहा है? धन्यवाद!एडब्ल्यूएस सीएलआई क्लाउडफ्रंट सभी फ़ाइलों को अमान्य करें

aws cloudfront create-invalidation --distribution-id $DISTRIBUTION_ID --paths /* 

आउटपुट:

{ "Invalidation": { "Status": "InProgress", "InvalidationBatch": { "Paths": { "Items": [ "/lib32", "/home", "/vmlinuz", "/core", "/proc", "/var", "/dev", "/usr", "/etc", "/initrd.img", "/cdrom", "/lost+found", "/root", "/tmp", "/lib", "/dead.letter", "/lib64", "/boot", "/sys", "/run", "/bin", "/sbin", "/mnt", "/opt", "/snap", "/media", "/copyright", "/srv" ], "Quantity": 28 },

उत्तर

18

कि आपके खोल expansion of local filenames कर रही है।

यही कारण है कि आप अनिवार्य रूप से पूछ रहे हैं क्योंकि * उद्धृत नहीं किया गया है।

या तो --paths '*' या निर्दिष्ट --paths '/*' ¹ आप क्या करना चाहते हैं कर सकते हैं। वाइल्डकार्ड का उद्धरण इसे आप जो देख रहे हैं उसके बजाए इसे शाब्दिक स्ट्रिंग के रूप में रखता है।


¹ CloudFront सांत्वना आप या तो * या /* संपूर्ण वितरण रद्द करने के लिए निर्दिष्ट करने के लिए अनुमति देता है; इसके विपरीत, सीएलआई /* की अपेक्षा करता है। यह बदले में है, अंतर्निहित एपीआई भी /* की अपेक्षा करता है। जब आप कंसोल में * का उपयोग करते हैं, तो कंसोल क्लाउडफ्रंट एपीआई से अनुरोध करने से पहले अग्रणी स्लैश को कंसोल द्वारा चुपचाप जोड़ा जाता है।

+1

यह मेरे लिए चाल है। धन्यवाद माइकल। आगे बढ़ाने के लिए, संस्करण 'aws-cli/1.11.36 पायथन/2.7.12 डार्विन/16.4.0 बॉटोकोर/1.4.93' पर,' --paths '*' 'मान का उपयोग करके त्रुटि मिलती है: 'एक त्रुटि हुई (InvalidArgument) CreateInvalidation ऑपरेशन को कॉल करते समय: आपके अनुरोध में एक या अधिक अमान्य अमान्यता पथ हैं। आपको सफल प्रतिक्रिया के लिए '--paths'/* ''का उपयोग करना चाहिए – damusix

+1

@damusix की आवश्यकता पर टिप के लिए धन्यवाद अग्रणी '/'। तदनुसार अपडेट किया गया। –

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