Force CloudFront वितरण / फ़ाइल अद्यतन


146

मैं अपने वेब ऐप्स की स्थिर फ़ाइलों की सेवा करने के लिए Amazon के CloudFront का उपयोग कर रहा हूं।

क्या क्लाउडफ्रंट वितरण को बताने का कोई तरीका नहीं है कि इसे फ़ाइल को ताज़ा करने की आवश्यकता है या एकल फ़ाइल को इंगित करना चाहिए जिसे ताज़ा किया जाना चाहिए?

अमेज़ॅन अनुशंसा करता है कि आप अपनी फ़ाइलें जैसे logo_1.gif, logo_2.gif और इसी तरह इस समस्या के समाधान के लिए संस्करण पर काम करें, लेकिन यह एक बहुत ही बेवकूफ समाधान की तरह लगता है। क्या कोई दूसरा रास्ता नहीं है?



एक सिडेनोट के रूप में, मुझे नहीं लगता कि स्टैटिक फाइल्स को इस तरह नाम देना बेवकूफी है। हम इसे बहुत उपयोग कर रहे हैं और संस्करण नियंत्रण में फ़ाइल संस्करण के अनुसार स्वचालित नाम बदलने से हमें बहुत अधिक सिरदर्द से बचा लिया गया है।
EIS

1
@eis जब तक कि आपको जिस फ़ाइल को बदलने की आवश्यकता है उसे 1000 अलग-अलग स्थानों से ऑनलाइन जोड़ा गया है। सौभाग्य उन सभी लिंक को अद्यतन किया जा रहा है।
जेक विल्सन

@ जकाबूद उस मामले में लिंक क्यों अपडेट किया जाना चाहिए? वे विशिष्ट संस्करण का जिक्र कर रहे हैं, जो नवीनतम नहीं है, यदि फ़ाइल को बदल दिया गया है। यदि फ़ाइल नहीं बदली गई है, तो यह पहले की तरह काम करेगी।
eis

6
कुछ मामलों में एक कंपनी किसी चीज़ या किसी अन्य प्रकार की वस्तु के लिए गलत छवि पोस्ट करने में गलती कर सकती है, जहाँ उन्हें एक लॉ फर्म से टेकडाउन नोटिस प्राप्त होता है और फ़ाइल को बदलना पड़ता है। बस एक नए नाम के साथ एक नई फ़ाइल अपलोड करना उस तरह की समस्या को ठीक करने वाला नहीं है, जो दुर्भाग्य से एक ऐसी समस्या है जो इन दिनों अधिक से अधिक आम है।
जेक विल्सन

जवाबों:


134

खुशखबरी। अमेज़न ने आखिरकार एक अमान्य फीचर जोड़ा। एपीआई संदर्भ देखें

यह एपीआई संदर्भ से एक नमूना अनुरोध है:

POST /2010-08-01/distribution/[distribution ID]/invalidation HTTP/1.0
Host: cloudfront.amazonaws.com
Authorization: [AWS authentication string]
Content-Type: text/xml

<InvalidationBatch>
   <Path>/image1.jpg</Path>
   <Path>/image2.jpg</Path>
   <Path>/videos/movie.flv</Path>
   <CallerReference>my-batch</CallerReference>
</InvalidationBatch>

9
कृपया ध्यान दें कि अमान्य होने में कुछ समय लगेगा (जाहिरा तौर पर मैंने पढ़ा कुछ ब्लॉग पोस्ट के अनुसार 5-30 मिनट)।
माइकल वारकेंटिन

37
यदि आप स्वयं एपीआई अनुरोध नहीं करना चाहते हैं, तो आप अमेज़न कंसोल में भी लॉग इन कर सकते हैं और वहाँ एक अमान्य अनुरोध बना सकते हैं: docs.amazonwebservices.com/AmazonCloudFront/latest/…
j09

अमान्य का उपयोग करने के लिए एपीआई का उपयोग करने वाले आप में से लगभग कितने लोगों को अमान्य होने के लिए कितना समय लग रहा है?
ill_always_be_a_warriors

20
याद रखें कि आपके पहले 1,000 अमान्य अनुरोधों के बाद $ 0.005 प्रति फ़ाइल की लागत aws.amazon.com/cloudfront/pricing
TimS

1
@MichaelWarkentin एक एपीआई createInvalidationअनुरोध करने के बाद , मैं अभी भी अद्यतन देख रहा हूँ 5-10 मिनट या तो अमान्य है। ध्यान दें, मैं यह टिप्पणी आपके 4 साल बाद लिखता हूं ।
टिम पीटरसन

19

19 मार्च तक, अमेज़ॅन अब क्लाउडफ्रंट के कैश टीटीएल को 0 सेकंड की अनुमति देता है, इस प्रकार आपको (सैद्धांतिक रूप से) कभी भी बासी वस्तुओं को नहीं देखना चाहिए। इसलिए यदि आपके पास S3 में आपकी संपत्ति है, तो आप बस AWS वेब पैनल => S3 => संपत्तियों को संपादित करें = मेटाडेटा पर जा सकते हैं, फिर अपना "कैश-कंट्रोल" मान "अधिकतम-आयु = 0" पर सेट करें।

यह एपीआई प्रलेखन से सीधे है :

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


नए AWS कंसोल UI में यह सेटिंग कहां है? मैं इसे नहीं ढूँढ सकता।
ill_always_be_a_warriors

1
मुझे एक व्यक्तिगत फ़ाइल के लिए सेटिंग मिली, लेकिन क्या इसे बनाने के लिए कोई सेटिंग है ताकि मेरी बाल्टी पर अपलोड की गई किसी भी चीज का 0 का TTL हो?
ill_always_be_a_warriors

जबकि मुझे निश्चित रूप से एक बाल्टी-वाइड सेटिंग में दिलचस्पी होगी, मुझे यह एक तेज / बेहतर समाधान मिला। अमान्य अनुरोध (शेष API के साथ) बहुत भ्रमित और खराब दस्तावेज हैं, और मैंने तुरंत काम करने से पहले अपने पहियों को 3 घंटे तक चला दिया।
दो-बिट अल्केमिस्ट

33
मुझे पागल कहें, लेकिन TTL को 0 पर सेट करना और अधिकतम-आयु को 0 पर सेट करना वास्तव में कैशिंग के बिना CloudFront का उपयोग कर रहा है, क्या मूल के सभी अनुरोध अपडेट के लिए लगातार जाँच नहीं करेंगे? अनिवार्य रूप से सीडीएन को बेकार बना रहे हैं?
acidjazz

6
यदि आप एक कस्टम डोमेन के साथ स्थिर SSL- सक्षम S3 साइट के लिए एक मेकेनिज्म के रूप में क्लाउडफ्रंट का उपयोग कर रहे हैं, तो कैशिंग कोई फर्क नहीं पड़ता। इसके अलावा, इन मुद्दों पर हम चर्चा कर रहे हैं कि विकास चरणों में 0-टाइम कैशिंग अच्छा है।
दान जी

10

अमान्य API के साथ, यह कुछ ही मिनटों में अपडेट हो जाता है। PHP इनवैलिडेटर की
जाँच करें ।


यही वह है जिसकी तलाश में मैं हूं। जब मैं ऑटो से जा रहा हूं, तब मैं बीनस्टालकैप के वेब-हुक में हुक करने जा रहा हूं! लिंक के लिए धन्यवाद!
मरहम

10

5 मिनट में स्वचालित अद्यतन सेटअप

ठीक है दोस्तों। स्वचालित क्लाउडफ़ॉरेस्ट अपडेट (अमान्यकरण) करने के लिए अब तक का सबसे अच्छा तरीका लैम्ब्डा फ़ंक्शन बनाना है जो हर बार ट्रिगर किया जाएगा जब कोई भी फ़ाइल S3 बाल्टी (एक नया या फिर से लिखा गया) पर अपलोड हो।

यहां तक ​​कि अगर आपने पहले कभी लैम्ब्डा फ़ंक्शन का उपयोग नहीं किया है, तो यह वास्तव में आसान है - बस मेरे चरण-दर-चरण निर्देशों का पालन करें और इसमें सिर्फ 5 सेकंड का समय लगेगा:

चरण 1

Https://console.aws.amazon.com/lambda/home पर जाएं और Create a lambda फ़ंक्शन पर क्लिक करें

चरण 2

रिक्त फ़ंक्शन (कस्टम) पर क्लिक करें

चरण 3

खाली (स्ट्रॉक्ड) बॉक्स पर क्लिक करें और कॉम्बो से S3 चुनें

चरण 4

अपने बकेट का चयन करें (CloudFront वितरण के लिए समान)

चरण 5

"ऑब्जेक्ट क्रिएट (ऑल)" के लिए एक ईवेंट प्रकार सेट करें

चरण 6

उपसर्ग और प्रत्यय सेट करें या इसे खाली छोड़ दें यदि आप नहीं जानते कि यह क्या है।

चरण 7

ट्रिगर चेकबॉक्स सक्षम करें चेक करें और अगला क्लिक करें

चरण 8

अपने फ़ंक्शन को नाम दें (कुछ इस तरह: YourBucketNameS3ToCloudFrontOnCreateAll )

चरण 9

पाइथन 2.7 का चयन करें (या बाद में) रनटाइम के रूप में

चरण 10

डिफ़ॉल्ट अजगर कोड के बजाय निम्नलिखित कोड चिपकाएँ:

from __future__ import print_function

import boto3
import time

def lambda_handler(event, context):
    for items in event["Records"]:
        path = "/" + items["s3"]["object"]["key"]
        print(path)
        client = boto3.client('cloudfront')
        invalidation = client.create_invalidation(DistributionId='_YOUR_DISTRIBUTION_ID_',
            InvalidationBatch={
            'Paths': {
            'Quantity': 1,
            'Items': [path]
            },
            'CallerReference': str(time.time())
            })

चरण 11

एक नए ब्राउज़र टैब में https://console.aws.amazon.com/cloudfront/home खोलें और अगले चरण में उपयोग के लिए अपने CloudFront वितरण आईडी की प्रतिलिपि बनाएँ।

चरण 12

पैंथन कोड में _YOUR_DISTRIBUTION_ID_ के बजाय लैम्ब्डा टैब पर लौटें और अपनी वितरण आईडी पेस्ट करें। आसपास के उद्धरण रखें।

चरण 13

सेट हैंडलर : lambda_function.lambda_handler

चरण 14

कॉम्बोक्स की भूमिका पर क्लिक करें और एक कस्टम भूमिका बनाएँ चुनें । ब्राउज़र में नया टैब खोला जाएगा।

चरण 15

क्लिक करें दृश्य नीति दस्तावेज क्लिक करें, संपादित करें , क्लिक करें ठीक है और निम्न (के रूप में है) के साथ भूमिका परिभाषा बदल देते हैं:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": "arn:aws:logs:*:*:*"
    },
    {
      "Effect": "Allow",
      "Action": [
          "cloudfront:CreateInvalidation"
      ],
      "Resource": [
          "*"
      ]
    }
  ]
}

चरण 16

अनुमति पर क्लिक करें । यह आपको एक मेमने को लौटा देगा। डबल रोल जो आपके द्वारा अभी-अभी बनाया गया है उसका नाम मौजूदा रोल कॉम्बोक्स में चुना गया है ।

चरण 17

मेमोरी (MB) को 128 पर सेट करें और 5 सेकंड के लिए टाइमआउट करें।

चरण 18

अगला क्लिक करें , फिर फ़ंक्शन बनाएं पर क्लिक करें

चरण 19

तुम तैयार हो! अब, हर बार जब आप किसी फ़ाइल को S3 में अपलोड / पुनः लोड करेंगे, तो इसका मूल्यांकन सभी CloudFront Edge स्थानों में किया जाएगा।

पुनश्च - जब आप परीक्षण कर रहे हैं, तो सुनिश्चित करें कि आपका ब्राउज़र क्लाउडफ़ास्ट से छवियों को लोड कर रहा है, स्थानीय कैश से नहीं।

PSS - कृपया ध्यान दें, कि प्रति माह केवल पहली 1000 फाइलें अमान्य हैं, मुफ्त में, प्रत्येक अमान्यता की सीमा $ 0.005 USD से अधिक है। इसके अलावा लैम्ब्डा फ़ंक्शन के लिए अतिरिक्त शुल्क लागू हो सकते हैं, लेकिन यह बेहद सस्ता है।


बस प्रत्येक S3 बैच से अंतिम आइटम?
फिल

@Phil कोड उस तरह से लिखा जाता है जिससे केवल नई अपलोड की गई फ़ाइलों को अमान्य कर दिया जाएगा, न कि पूरी बाल्टी को। बहु-फ़ाइलों के अपलोड के मामले में उनमें से प्रत्येक को अलग से अमान्य कर दिया जाएगा। एक जादू की तरह काम करता है।
काइनाक्स

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

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

यदि मैं आपकी पहली टिप्पणी को गलत समझ रहा हूं और आपका मतलब है कि 'मात्रा': 1 केवल अंतिम आइटम जोड़ेगी - सरणी में प्रत्येक आइटम के लिए लूप है।
केनेक्स

9

बकेट एक्सप्लोरर में एक यूआई है जो अब इसे बहुत आसान बनाता है। ऐसे:

अपनी बाल्टी पर राइट क्लिक करें। "वितरण प्रबंधित करें" चुनें।
अपने वितरण पर राइट क्लिक करें। "क्लाउडफ्रंट अमान्य सूची प्राप्त करें" चुनें फिर एक नई अमान्य सूची बनाने के लिए "बनाएं" चुनें। अमान्य करने के लिए फ़ाइलों का चयन करें, और "अमान्य" पर क्लिक करें। 5-15 मिनट प्रतीक्षा करें।


4

यदि आपने बोटो स्थापित किया है (जो सिर्फ अजगर के लिए नहीं है, बल्कि उपयोगी कमांड लाइन उपयोगिताओं का एक गुच्छा भी स्थापित करता है), यह एक कमांड लाइन का उपयोग विशेष रूप से कहा जाता है cfadminया 'क्लाउड फ्रंट एडमिन' प्रदान करता है जो निम्नलिखित कार्यक्षमता प्रदान करता है:

Usage: cfadmin [command]
cmd - Print help message, optionally about a specific function
help - Print help message, optionally about a specific function
invalidate - Create a cloudfront invalidation request
ls - List all distributions and streaming distributions

आप चीजों को चलाने से मना करते हैं:

$sam# cfadmin invalidate <distribution> <path>

वास्तव में cfadmin एक बहुत ही उपयोगी उपकरण है, खासकर यदि आपको कंसोल \ bash \ travis ci परिनियोजन स्क्रिप्ट से CloudFront कैश को रीसेट करने की आवश्यकता है। BTW यहाँ पोस्ट कैसे रीसेट करने के लिए \ अवैध CoudFront कैश करने के लिए ट्रैविस तैनाती के दौरान aws
मिकीता Manko

3

इस पृष्ठ पर जाने वाले किसी भी व्यक्ति को सूचित करने के लिए पोस्टिंग ('क्लाउडफ्रंट फाइल रिफ्रेश' पर पहला परिणाम) कि swook.net पर एक आसान-से-उपयोग + अमान्य ऑनलाइन उपलब्ध है।

यह नया अमान्य है:

  • पूरी तरह से ऑनलाइन (कोई स्थापना नहीं)
  • उपलब्ध 24x7 (Google द्वारा होस्ट किया गया) और इसके लिए किसी भी सदस्यता की आवश्यकता नहीं है।
  • वहाँ इतिहास का समर्थन है, और आप आसानी से अपनी फ़ाइलों को अमान्य करने के लिए पथ जाँच कर रहे हैं। (पहली बार अमान्य करने के बाद बस कुछ ही क्लिक के साथ!)
  • यह भी बहुत सुरक्षित है, क्योंकि आपको इसकी रिलीज़ पोस्ट पढ़ते समय पता चल जाएगा ।

पूर्ण प्रकटीकरण: मैंने इसे बनाया है। मज़े करो!


2
क्षमा करें, लेकिन यहां तक ​​कि "आप कहते हैं" क्रेडेंशियल संग्रहीत या लीक नहीं किए गए ... किसी को भी अपनी साख को किसी तीसरे पक्ष को नहीं देना चाहिए। एक दूरस्थ अमेज़न प्रमाणीकरण या कुछ और लागू हो सकता है?
d.raev

आपको इसे कम से कम https के पीछे रखना चाहिए।
ओलिवर टायनेस

ऑनलाइन टूल आम तौर पर अच्छे होते हैं, लेकिन तीसरे पक्ष के टूल को क्रेडेंशियल प्रदान करना एक वैध सुरक्षा चिंता का विषय होगा। मैं आधिकारिक वेब कंसोल या आधिकारिक CLI टूल का उपयोग करने का सुझाव दूंगा
RayLuo

2
दूसरों की सुरक्षा के लिए, मैं इस उत्तर को नकार रहा हूं। आपको कभी भी लोगों से उनकी साख के लिए नहीं पूछना चाहिए
Moataz Elmasry

3

इसे करने का एक बहुत ही आसान तरीका है फोल्डर वर्जनिंग।

इसलिए यदि आपकी स्टैटिक फाइलें उदाहरण के लिए सैकड़ों हैं, तो उन सभी को वर्ष + वर्जनिंग नामक फ़ोल्डर में डालें।

उदाहरण के लिए, मैं 2014_v1 नामक एक फ़ोल्डर का उपयोग करता हूं जहां मेरे अंदर मेरी सभी स्थिर फाइलें हैं ...

इसलिए मेरे HTML के अंदर मैं हमेशा फ़ोल्डर का संदर्भ देता हूं। (बेशक मेरे पास एक PHP शामिल है जहां मैंने फ़ोल्डर का नाम सेट किया है।) इसलिए 1 फ़ाइल में बदलकर यह वास्तव में सभी PHP फ़ाइलों में बदल जाता है।

अगर मुझे पूरी तरह से रिफ्रेश चाहिए, तो मैं फ़ोल्डर को अपने स्रोत में 2014_v2 में बदल देता हूं और php के अंदर परिवर्तन 2014_152 में शामिल करता हूं

सभी HTML स्वचालित रूप से बदल जाते हैं और नए पथ, क्लाउडफ्रंट MISS कैश से पूछते हैं और स्रोत से अनुरोध करते हैं।

उदाहरण: SOURCE.mydomain.com मेरा स्रोत है, cloudfront.mydomain.com क्लाउडफ्रंट वितरण के लिए CNAME है।

इसलिए PHP ने इस फाइल को Cloudfront.mydomain.com/2014_v1/javascript.js कहा है और जब मैं पूर्ण रिफ्रेश चाहता हूं, तो मैं फ़ोल्डर को "2014_v2" स्रोत में बदल देता हूं और PHP को "2014_v2" फ़ोल्डर में सेट करके बदल देता हूं ।

इस तरह अमान्य और कोई COST के लिए कोई देरी नहीं है!

स्टैकओवरफ़्लो में यह मेरी पहली पोस्ट है, आशा है कि मैंने इसे अच्छी तरह से किया है!



2

माणिक में, कोहरे मणि का उपयोग कर

AWS_ACCESS_KEY = ENV['AWS_ACCESS_KEY_ID']
AWS_SECRET_KEY = ENV['AWS_SECRET_ACCESS_KEY']
AWS_DISTRIBUTION_ID = ENV['AWS_DISTRIBUTION_ID']

conn = Fog::CDN.new(
    :provider => 'AWS',
    :aws_access_key_id => AWS_ACCESS_KEY,
    :aws_secret_access_key => AWS_SECRET_KEY
)

images = ['/path/to/image1.jpg', '/path/to/another/image2.jpg']

conn.post_invalidation AWS_DISTRIBUTION_ID, images

अमान्य होने पर भी, सभी amazon बढ़त सर्वरों को संसाधित करने और रीफ़्रेश करने में अभी भी 5-10 मिनट लगते हैं


तुमने तो मेरी जान बचा ली!
फोबियो बतिस्ता

2

वर्तमान AWS CLI पूर्वावलोकन मोड में अमान्यकरण का समर्थन करता है। अपने कंसोल में निम्न को एक बार चलाएं:

aws configure set preview.cloudfront true

मैं npm का उपयोग करके अपनी वेब परियोजना को तैनात करता हूं। मेरे पास निम्नलिखित स्क्रिप्ट हैं package.json:

{
    "build.prod": "ng build --prod --aot",
    "aws.deploy": "aws s3 sync dist/ s3://www.mywebsite.com --delete --region us-east-1",
    "aws.invalidate": "aws cloudfront create-invalidation --distribution-id [MY_DISTRIBUTION_ID] --paths /",
    "deploy": "npm run build.prod && npm run aws.deploy && npm run aws.invalidate"
}

उन लिपियों के ऊपर होने से आप अपनी साइट को इनसे जोड़ सकते हैं:

npm run deploy

1
मुझे लगता है कि आपको अपने 'aws.invalidate' कमांड में तारांकन चिह्न की आवश्यकता है, इसमें बदलाव --paths /करें --paths /*। मेरा भी आप जैसा था और यह वितरण को अमान्य नहीं करता था ...
हेराल्ड स्मित

1

यदि आप AWS का उपयोग कर रहे हैं, तो आप शायद इसके आधिकारिक CLI टूल (जितनी जल्दी या बाद में) का उपयोग करें। AWS CLI संस्करण 1.9.12 या इसके बाद के संस्करण फ़ाइल नामों की एक सूची को अमान्य करने का समर्थन करता है।

पूर्ण प्रकटीकरण: मैंने इसे बनाया है। मज़े करो!


मृत लिंक - एक 404 की ओर जाता है :( और मैं इसे संस्करण 1.9.12 के रूप में अपडेट नहीं कर सकता। रिलीज नोट्स ( aws.amazon.com/releasenotes/?tag=releasenotes%23keywords%23cli ) से गायब है
सेडवे

यार, thtat लगभग 3 साल पहले जारी किया गया एक संस्करण था। नवीनतम संस्करण का प्रयास करें और सुविधा अभी भी होने की संभावना है। (पूर्ण प्रकटीकरण: मैं अब एडब्ल्यूएस सीएलआई पर काम नहीं करता।)
रेलाउ

ओह, मुझे पता है, बस यह सभी releasenotes के अजीब है, केवल 1.9.12 मौजूद नहीं है: D (जो कि मुझे लिंक को अपडेट करने में सक्षम नहीं होने के बारे में मिल रहा था)। यह टिप्पणी किसी के लिए एक संकेत की तरह थी जो यहां वैसे ही मिली, जैसे मैंने किया और एआईआर सीएलआई के लिए releasenotes खोजने की जरूरत थी। कोई नुकसान नहीं कोई माफी नहीं।
स्लीववेव

0

CloudFront पर जाएं।

अपनी आईडी / वितरण पर क्लिक करें।

अमान्य पर क्लिक करें।

अमान्य बनाएँ पर क्लिक करें।

विशाल उदाहरण बॉक्स प्रकार * में और अमान्य पर क्लिक करें

किया हुआ

यहाँ छवि विवरण दर्ज करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.