ক্লাউডফ্রন্ট বিতরণ / ফাইল আপডেট জোর করুন


146

আমি আমার ওয়েব অ্যাপ্লিকেশনগুলির স্ট্যাটিক ফাইলগুলি সরবরাহ করতে আমাজনের ক্লাউডফ্রন্ট ব্যবহার করছি।

কোনও ক্লাউডফ্রন্ট বিতরণকে বলার উপায় নেই যে এটির ফাইলটি রিফ্রেশ করা দরকার বা একটি একক ফাইল সতেজ করা উচিত যা রিফ্রেশ হওয়া উচিত?

অ্যামাজন সুপারিশ করে যে আপনি এই ফাইলটির সমস্যা সমাধানের জন্য লোগো_1.gif, লোগো_2.gif এবং এর মতো আপনার ফাইলগুলি সংস্করণ করুন তবে এটি দেখতে বেশ মূ .় সমাধান বলে মনে হচ্ছে। একেবারে অন্য কোন উপায় নেই?



সিডনোট হিসাবে, আমি মনে করি না যে এটির মতো স্থির ফাইলগুলির নাম দেওয়া বোকামি। আমরা এটিকে অনেক ব্যবহার করে চলেছি এবং সংস্করণ নিয়ন্ত্রণে ফাইল সংস্করণ অনুসারে স্বয়ংক্রিয় নামকরণের ফলে আমাদের প্রচুর মাথা ব্যথা বাঁচিয়েছে।
eis

1
@ যদি না আপনার ফাইলটি প্রতিস্থাপনের প্রয়োজন হয় তা অনলাইনে 1000 টি ভিন্ন জায়গায় লিঙ্ক করা হয়েছে। এই লিঙ্কগুলি আপডেট হওয়ার জন্য শুভকামনা।
জ্যাক উইলসন

@ জাকবুদ লিংকগুলি কেন সেই ক্ষেত্রে আপডেট করা উচিত? তারা নির্দিষ্ট সংস্করণ উল্লেখ করছেন, যদি ফাইলটি পরিবর্তন করা হয় তবে এটি সর্বশেষ নয়। যদি ফাইলটি পরিবর্তন না করা হয় তবে এটি আগের মতো কাজ করবে।
eis

6
কিছু ক্ষেত্রে কোনও সংস্থা কোনও আইন বা অন্য কোনও ধরণের আইটেমের জন্য ভুল চিত্র পোস্ট করার ক্ষেত্রে ভুল করতে পারে যেখানে তারা কোনও আইন সংস্থার কাছ থেকে টেকডাউন বিজ্ঞপ্তি গ্রহণ করে এবং ফাইলটি প্রতিস্থাপন করতে হবে। কেবল নতুন নাম দিয়ে কোনও নতুন ফাইল আপলোড করা that ধরণের সমস্যাটিকে ঠিক করতে পারে না, যা দুর্ভাগ্যক্রমে একটি সমস্যা যা আজকাল আরও বেশি সাধারণ।
জ্যাক উইলসন

উত্তর:


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
আপনি যদি নিজেই কোনও এপিআই অনুরোধ করতে না চান, আপনি অ্যামাজন কনসোলে লগ ইন করতে পারেন এবং সেখানে একটি অবৈধ
আমাজনক্লাউডফ্রন্ট

আপনারা যারা এপিআই ব্যবহার করে অবৈধকরণটি চালিয়ে যাচ্ছেন, অবৈধকরণ কার্যকর হওয়ার জন্য এটি প্রায় কত দিন নিচ্ছে?
অসুস্থ_লওয়ে_বে_এ_ওয়্যারিয়র্স


1
@ মিশেল ওয়ার্কেন্টিন একটি এপিআই createInvalidationঅনুরোধ করার পরে , আমি এখনও আপডেটটি অবৈধ করতে 5-10 মিনিট বা তার বেশি সময় নিতে দেখছি। নোটিশ আমি আপনার এই মন্তব্য 4 বছর পরে লিখুন ।
টিম পিটারসন

19

১৯ ই মার্চ, অ্যামাজন এখন ক্লাউডফ্রন্টের ক্যাশে টিটিএলকে 0 সেকেন্ড হতে দেয়, সুতরাং আপনার (তাত্ত্বিকভাবে) কখনই বাসি জিনিসগুলি দেখা উচিত নয়। সুতরাং আপনার যদি এস 3 এ আপনার সম্পদ থাকে তবে আপনি কেবল এডাব্লুএস ওয়েব প্যানেল => এস 3 => বৈশিষ্ট্যগুলি সম্পাদনা করুন => মেটাডেটাতে যেতে পারেন, তারপরে আপনার "ক্যাশে-নিয়ন্ত্রণ" মানটিকে "সর্বাধিক বয়স = 0" এ সেট করুন।

এটি সরাসরি এপিআই ডকুমেন্টেশন থেকে :

ক্লাউডফ্রন্ট কোনও বস্তুকে ক্যাচ করে কিনা এবং তা নিয়ন্ত্রণে রাখতে, আমরা আপনাকে সর্বোচ্চ-বয়স = নির্দেশ দিয়ে ক্যাশে-নিয়ন্ত্রণ শিরোনাম ব্যবহার করার পরামর্শ দিই recommend ক্লাউডফ্রন্ট নির্দিষ্ট সেকেন্ডের জন্য অবজেক্টকে ক্যাশে করে। (সর্বনিম্ন মান 0 সেকেন্ড)


নতুন এডাব্লুএস কনসোল ইউআইতে এই সেটিংটি কোথায়? আমি এটি খুঁজে পাচ্ছি না।
অসুস্থ_লওয়ে_বে_এ_ওয়্যারিয়র্স

1
আমি একটি পৃথক ফাইলের জন্য সেটিংসটি পেয়েছি, তবে আমার বালতিতে আপলোড করা যে কোনও কিছুতে 0 টিটিএল রয়েছে সেজন্য এটি তৈরি করার কি কোনও সেটিং আছে?
অসুস্থ_লওয়ে_বে_এ_ওয়্যারিয়র্স

যদিও আমি অবশ্যই বালতি-প্রশস্ত সেটিংয়ে আগ্রহী, আমি এটি একটি দ্রুত / আরও ভাল সমাধান পেয়েছি solution অবৈধ অনুরোধগুলি (এপিআইয়ের বাকি অংশগুলি সহ) খুব বিভ্রান্তিকর এবং দুর্বল নথিভুক্ত, এবং এই তাত্ক্ষণিকভাবে কাজ করার আগে আমি 3 ঘন্টা আমার চাকাগুলিকে ঘুরিয়ে দিয়েছি।
টু-বিট অ্যালকেমিস্ট

33
আমাকে পাগল বলুন কিন্তু টিটিএলকে 0 এ সেট করুন এবং সর্বাধিক 0 বয়সের সাথে স্রোত সত্যিই ক্যাশেড ছাড়াই ক্লাউডফ্রন্ট ব্যবহার করছে, কী সব উত্সরে অনুরোধগুলি ক্রমাগত আপডেটগুলি পরীক্ষা করে দেখবে না? মূলত সিডিএনকে অকেজো করা?
অ্যাসিডজাজ

6
আপনি যদি কাস্টম ডোমেন সহ স্থির এসএসএল-সক্ষম সক্ষম এস 3 সাইট রাখার ব্যবস্থা হিসাবে কেবল ক্লাউডফ্রন্ট ব্যবহার করছেন, তবে ক্যাশে করা কোনও বিষয় নয়। এছাড়াও, আমরা যে বিষয়গুলি নিয়ে আলোচনা করছি তা হ'ল উন্নয়নের পর্যায়ে 0-বারের ক্যাচিং ভাল is
ড্যান জি

10

অবৈধতা এপিআই সহ, এটি কয়েক মিনিটের মধ্যে আপডেট হয়।
পরীক্ষা করে দেখুন পিএইচপি Invalidator


আমি ঠিক এটিই খুঁজছিলাম। গিট থেকে অটো মোতায়েনের সময় আমি বিয়ানস্টালাপ্পের ওয়েব-হুকগুলিতে এটি চালাচ্ছি! লিঙ্কের জন্য ধন্যবাদ!
cointilt

10

5 মিনিটে স্বয়ংক্রিয় আপডেট সেটআপ

ঠিক আছে, ছেলেরা। স্বয়ংক্রিয় ক্লাউডফ্রন্ট আপডেট (অবৈধকরণ) সম্পাদনের জন্য এখনের সর্বোত্তম সম্ভাব্য উপায় হ'ল লাম্বডা ফাংশন তৈরি করা যা যখনই কোনও ফাইল এস 3 বালতিতে আপলোড করা হয় তখনই এটি ট্রিগার করা হবে (একটি নতুন বা পুনর্লিখন))

এমনকি যদি আপনি এর আগে ল্যাম্বদা ফাংশনগুলি কখনও ব্যবহার না করেন তবে এটি সত্যিই সহজ - কেবল আমার ধাপে ধাপে নির্দেশাবলী অনুসরণ করুন এবং এটিতে মাত্র 5 মিনিট সময় লাগবে:

ধাপ 1

Https://console.aws.amazon.com/lambda/home এ যান এবং একটি ল্যাম্বডা ফাংশন তৈরি করুন ক্লিক করুন

ধাপ ২

ফাঁকা ফাংশন (কাস্টম) এ ক্লিক করুন

ধাপ 3

খালি (স্ট্রোকড) বাক্সে ক্লিক করুন এবং কম্বো থেকে এস 3 নির্বাচন করুন

পদক্ষেপ 4

আপনার বালতিটি নির্বাচন করুন (ক্লাউডফ্রন্ট বিতরণের মতো)

পদক্ষেপ 5

"অবজেক্ট তৈরি (সমস্ত)" এ ইভেন্টের ধরণ সেট করুন

পদক্ষেপ 6

উপসর্গ এবং প্রত্যয় সেট করুন বা এটি কী তা যদি আপনি না জানেন তবে এটি খালি ছেড়ে দিন।

পদক্ষেপ 7

ট্রিগার চেকবক্স সক্ষম করুন চেক করুন এবং পরবর্তী ক্লিক করুন

পদক্ষেপ 8

আপনার ফাংশনটির নাম দিন (এর মতো কিছু: আপনার বুকিটনাম এস 3 টোক্লাউডফ্রন্টঅনক্রিটআল )

পদক্ষেপ 9

পাইথন ২.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 / ক্লাউডফ্রন্ট / হোম খুলুনএকটি নতুন ব্রাউজার ট্যাবে এবং পরবর্তী স্টেপে আপনার ক্লাউডফ্রন্ট বিতরণ আইডিটি অনুলিপি করুন।

পদক্ষেপ 12

ল্যাম্বদা ট্যাবে ফিরে যান এবং পাইথন কোডে _YOUR_DISTRIBUTION_ID_ এর পরিবর্তে আপনার বিতরণ আইডিটি পেস্ট করুন। চারপাশে উদ্ধৃতি রাখুন।

পদক্ষেপ 13

হ্যান্ডলার সেট করুন : ল্যাম্বদা_ফানশন.লম্বদা_হ্যান্ডলার

পদক্ষেপ 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

মেমরি (এমবি) 128 এ সেট করুন এবং টাইমআউট 5 সেকেন্ডে সেট করুন।

পদক্ষেপ 18

ক্লিক করুন পরবর্তী , তারপরে ফাংশন তৈরি করুন

পদক্ষেপ 19

তুমি যেতে পারো! এখন, প্রতিবার আপনি S3 এ যে কোনও ফাইল আপলোড / পুনরায় আপলোড করবেন, এটি সমস্ত ক্লাউডফ্রন্ট এজ অবস্থানগুলিতে মূল্যায়ন করা হবে।

পিএস - আপনি যখন পরীক্ষা করছেন, নিশ্চিত হয়ে নিন যে আপনার ব্রাউজারটি স্থানীয় ক্যাশে নয়, ক্লাউডফ্রন্ট থেকে চিত্রগুলি লোড করছে।

পিএসএস - দয়া করে নোট করুন, প্রতি মাসে কেবল প্রথম 1000 ফাইলের অবৈধকরণ বিনামূল্যে হয়, প্রতিটি অবৈধতার সীমা ছাড়িয়ে $ 0.005 মার্কিন ডলার হয়। লাম্বদা ফাংশনের জন্য অতিরিক্ত চার্জগুলি প্রয়োগ করতে পারে তবে এটি অত্যন্ত সস্তা।


প্রতিটি এস 3 ব্যাচ থেকে কেবল শেষ আইটেম?
ফিল

@ ফিল এই কোডটি এমনভাবে লেখা হয়েছে যাতে কেবল নতুন আপলোড করা ফাইলগুলি বাতিল করা হবে, পুরো বালতি নয়। মাল্টি-ফাইল আপলোডের ক্ষেত্রে সেগুলির প্রতিটি পৃথকভাবে অবৈধ করা হবে। একটি যাদুমন্ত্র মত কাজ করে.
ক্যানাক্স

এই কোডটি প্রত্যাশিত হিসাবে কাজ করার একমাত্র কারণ হ'ল এস 3 বর্তমানে বিজ্ঞপ্তি অনুসারে কেবলমাত্র একটি আইটেম অন্তর্ভুক্ত করেছে, অর্থ্যাৎ অ্যারের দৈর্ঘ্য সুখে সবসময় 1 থাকে এবং ফলস্বরূপ, আপনি এক সাথে একাধিক ফাইল আপলোড করলেও আপনি সম্পূর্ণ নতুন বিজ্ঞপ্তি পান প্রতি ফাইল আপনি কোনও ক্ষেত্রে পুরো বালতিটির জন্য কোনও বিজ্ঞপ্তি পাবেন না। কম-কম, লিখিত হিসাবে এই কোডটি প্রস্তুত নয়, এডব্লিউএসের আচরণটি পরিবর্তন করা উচিত। কোড লিখতে বেশি নিরাপদ যা দৈর্ঘ্য নির্বিশেষে পুরো অ্যারে পরিচালনা করে, যা আমার মূল (দুঃখজনকভাবে মিস) পয়েন্ট ছিল।
ফিলি

ইভেন্ট হ্যান্ডলারগুলিকে অ্যাডব্লিউএস যুক্ত করার একমাত্র কারণ ... ভাল ... ইভেন্টগুলি পরিচালনা করা handle তারা কেন এটি সরিয়ে ফেলবে? কীভাবে কোনও নতুন ফাইল যুক্ত করা হয়েছে, তা এপিআই-এর ইভেন্টটি ট্রিগার করা উচিত এবং এটি এখন এটি কীভাবে কাজ করে তা চালিয়ে যাবে। আমি 4 বছর ধরে ডাব্লুএসএস ব্যবহার করছি এবং তারা কখনই কিছু পরিবর্তন করেনি যাতে আগের কোডটি কাজ করা বন্ধ করে দেয়। এমনকি যদি তারা এপিআই পরিবর্তন করে তবে তারা এটিকে একটি নতুন স্ট্যান্ডেল সংস্করণ পরিবর্তন করে তবে পূর্ববর্তী সমস্ত সংস্করণ সর্বদা সমর্থিত থাকে। সেই বিশেষ ক্ষেত্রে আমি বিশ্বাস করি না যে ব্যক্তিগত ফাইল ইভেন্টটি কখনও সরানো হবে। এটি সম্ভবত বিশ্বব্যাপী কয়েক মিলিয়ন প্রকল্পের দ্বারা ইতিমধ্যে ব্যবহৃত হয়েছে।
ক্যানাক্স

যদি আমি আপনার প্রথম মন্তব্যে ভুল বুঝি এবং আপনার অর্থ 'পরিমাণ': 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 একটি খুব সহায়ক সরঞ্জাম, বিশেষত যদি আপনার কনসোল \ ব্যাশ \ ট্র্যাভিস সিআই ডিপ্লোয়মেন্ট স্ক্রিপ্ট থেকে ক্লাউডফ্রন্ট ক্যাশে পুনরায় সেট করতে হয়। বিটিডব্লিউ এখানে ট্র্যাভিস মোতায়েনের সময় কডফ্রন্টের ক্যাশেটিকে কীভাবে পুনরায় সেট করবেন তা পোস্ট করুন
মিকিতা মানকো

3

এই পৃষ্ঠাটি দেখার জন্য যে কাউকে কেবল পোস্ট করার জন্য ('ক্লাউডফ্রন্ট ফাইল রিফ্রেশ'-এর প্রথম ফলাফল) যে এখানে সহজেই ব্যবহারযোগ্য অ্যাক্সেস অনলাইনে অবৈধ আছে যেটি swook.net এ উপলব্ধ available

এই নতুন অবৈধ হয়:

  • সম্পূর্ণ অনলাইন (কোনও ইনস্টলেশন নেই)
  • 24x7 উপলব্ধ (গুগল দ্বারা হোস্ট করা) এবং কোনও সদস্যতার প্রয়োজন নেই does
  • ইতিহাস সমর্থন, এবং আপনার ফাইলগুলি সহজেই অকার্যকর করতে দেওয়ার জন্য পাথ চেকিং রয়েছে। (প্রায়শই প্রথমবারের জন্য অবৈধ হওয়ার পরে কয়েকটি ক্লিক দিয়ে!)
  • এটি খুব সুরক্ষিত যেমন এর প্রকাশের পোস্টটি পড়ার সময় আপনি জানতে পারবেন ।

সম্পূর্ণ প্রকাশ: আমি এটি তৈরি করেছি। আনন্দ কর!


2
দুঃখিত, তবে এমনকি "আপনি বলেন" শংসাপত্রগুলি সংরক্ষণ করা হয় না বা ফাঁস হয় না ... কারও পক্ষে তৃতীয় পক্ষকে তার প্রমাণপত্রাদি দেওয়া উচিত নয়। একটি দূরবর্তী অ্যামাজন প্রমাণীকরণ বা কিছু বাস্তবায়িত হতে পারে?
d.raev

আপনার এটিকে কমপক্ষে https এর পিছনে রাখা উচিত।
অলিভার টাইনেস

অনলাইন সরঞ্জামগুলি সাধারণত দুর্দান্ত, তবে তৃতীয় পক্ষের সরঞ্জামকে শংসাপত্র সরবরাহ করা বৈধ সুরক্ষা উদ্বেগ হবে। আমি অফিশিয়াল ওয়েব কনসোল বা অফিসিয়াল সিএলআই সরঞ্জাম ব্যবহার করার পরামর্শ দেব ।
রায়লুও

2
অন্যের সুরক্ষার জন্য, আমি এই উত্তরটিকে নিম্নমুখী করছি। আপনার কখনই লোকদের তাদের শংসাপত্রগুলির জন্য জিজ্ঞাসা করা উচিত নয়
মোতাজ এলমাস্রি

3

এটি করার একটি খুব সহজ উপায় হ'ল ফোল্ডার সংস্করণ।

সুতরাং আপনার স্ট্যাটিক ফাইলগুলি উদাহরণস্বরূপ যদি শতগুলি হয়, কেবল সেগুলি সমস্তকে বছরের + সংস্করণ অনুসারে একটি ফোল্ডারে রেখে দিন।

উদাহরণস্বরূপ আমি 2014_v1 নামক ফোল্ডারটি ব্যবহার করি যেখানে আমার সমস্ত স্থির ফাইল রয়েছে ...

সুতরাং আমার এইচটিএমএল এর ভিতরে আমি সর্বদা ফোল্ডারে রেফারেন্স রাখি। (অবশ্যই আমার একটি পিএইচপি অন্তর্ভুক্ত রয়েছে যেখানে আমি ফোল্ডারের নামটি সেট করেছি)) সুতরাং 1 ফাইলে পরিবর্তন করে এটি আসলে আমার সমস্ত পিএইচপি ফাইলগুলিতে পরিবর্তিত হয় ..

আমি যদি একটি সম্পূর্ণ রিফ্রেশ চাই, আমি কেবল ফোল্ডারটির নাম পরিবর্তন করে 2014_v2 করে আমার উত্সে এবং পিএইচপি-র ভিতরে পরিবর্তন করে 2014_v2 অন্তর্ভুক্ত করি

সমস্ত HTML স্বয়ংক্রিয়ভাবে পরিবর্তিত হয় এবং নতুন পথ জিজ্ঞাসা করে, ক্লাউডফ্রন্ট এমআইএসএস ক্যাশে এবং উত্সটিতে এটি অনুরোধ করে it

উদাহরণ: SOURCE.mydomain.com হ'ল আমার উত্স, ক্লাউডফ্রন্ট.মায়ডোমেন.কম হ'ল সিএমএল ক্লাউডফ্রন্ট বিতরণ।

সুতরাং পিএইচপি এই ফাইলটিকে ক্লাউডফ্রন্ট.মিডোমেন ডটকম / ২০১৪_ভি ১ / জাভাস্ক্রিপ্ট.জেএস নামে ডেকেছে এবং আমি যখন একটি সম্পূর্ণ রিফ্রেশ চাই, কেবল আমি উত্সটিতে ফোল্ডারটির নাম পরিবর্তন করে "2014_v2" রাখি এবং আমি পিএইচপি অন্তর্ভুক্ত ফোল্ডারটিকে "2014_v2" এ সেট করে পরিবর্তন করি ।

এটির মতো অবৈধকরণের জন্য কোনও বিলম্ব নেই এবং কোনও খরচ নেই!

এটি স্ট্যাকওভারফ্লোতে আমার প্রথম পোস্ট, আশা করি আমি এটি ভাল করে দিয়েছি!



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

এমনকি অবৈধকরণের পরেও, অবৈধকরণটি প্রক্রিয়া করতে এবং সমস্ত অ্যামাজন এজ সার্ভারগুলি রিফ্রেশ করতে এখনও 5-10 মিনিট সময় নেয়


তুমি শুধু আমার জীবন বাঁচিয়েছ!
ফেবিও বাতিস্তা

2

বর্তমান AWS CLI পূর্বরূপ মোডে অবৈধ সমর্থন করে। আপনার কনসোলে নিম্নলিখিতগুলি একবার চালান:

aws configure set preview.cloudfront true

আমি এনএমপি ব্যবহার করে আমার ওয়েব প্রকল্প স্থাপন করি। আমার মধ্যে নিম্নলিখিত স্ক্রিপ্টগুলি রয়েছে 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.inediaate' কমান্ডে আপনার নক্ষত্রের দরকার, এতে পরিবর্তন --paths /করুন --paths /*। আমারও আপনার মতো ছিল এবং এটি বিতরণকে অকার্যকর করে দেয় না ...
হেরাল্ড স্মিট

1

আপনি যদি এডাব্লুএস ব্যবহার করে থাকেন তবে আপনি সম্ভবত এটির অফিসিয়াল সিএলআই সরঞ্জাম ব্যবহার করেন (তাড়াতাড়ি বা পরে)। এডাব্লুএস সিএলআই সংস্করণ ১.৯.১২ বা তার বেশি সংস্করণ ফাইলের নামের একটি তালিকা অকার্যকর সমর্থন করে।

সম্পূর্ণ প্রকাশ: আমি এটি তৈরি করেছি। আনন্দ কর!


মৃত লিঙ্কটি 404 :( এ নিয়ে যায় এবং আমি এটি আপডেট করতে পারছি না কারণ সংস্করণ 1.9.12 প্রকাশের নোটগুলি থেকে হারিয়েছে ( aws.amazon.com/releasenotes/?tag=releasenotes%23keywords%23cli )
স্লিডেভ

ডুড, থ্যাট্যাট প্রায় 3 বছর আগে প্রকাশিত একটি সংস্করণ ছিল। সর্বশেষতম সংস্করণ চেষ্টা করুন এবং বৈশিষ্ট্যটি সম্ভবত এখনও আছে। (সম্পূর্ণ প্রকাশ: আমি আর
ডাব্লুএসএস

ওহ, আমি জানি, এটি কেবলমাত্র সমস্ত রিলিজ নোটের মতোই অদ্ভুতভাবে খুঁজে পেয়েছিল, কেবলমাত্র 1.9.12 এর অস্তিত্ব নেই: ডি (যা লিঙ্কটি আপডেট করতে সক্ষম হচ্ছিল না বলে আমি পেয়েছিলাম)। মন্তব্যটি এখানে যেভাবে পাওয়া গেছে এমন কারও কাছে আরও বেশি ইঙ্গিত ছিল, যেমন আমি করেছি এবং এডাব্লুএস সিএলআইয়ের জন্য প্রকাশিত নোটগুলি খুঁজে পাওয়া দরকার। কোন ক্ষতি, কোন জঘন্য।
স্লিডেভ

0

ক্লাউডফ্রন্টে যান।

আপনার আইডি / বিতরণ ক্লিক করুন।

অবৈধ উপর ক্লিক করুন।

অবৈধতা তৈরি করুন ক্লিক করুন।

দৈত্য উদাহরণ বাক্সে * টাইপ করুন এবং অকার্যকর ক্লিক করুন

সম্পন্ন

এখানে চিত্র বর্ণনা লিখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.