Trở lại năm 2013, trong một phiên bản trước của câu trả lời này, tôi đã viết: "thư mục"
Bạn không thể làm điều này vì "tác phẩm" trong CloudFront đang không ở trong Mọi thứ đều là một đối tượng và mọi đối tượng đều độc lập.
Vào thời điểm đó, điều đó hoàn toàn đúng. Đúng là mọi thứ đều là một đối tượng và mọi đối tượng đều độc lập, nhưng CloudFront đã thay đổi logic vô hiệu của nó. Hãy đọc tiếp.
Vào thời điểm đó, đây cũng là sự thật, và một lần nữa, đến một mức độ nhất định, nó vẫn là:
tài liệu
Các CloudFront đề cập đến "thư mục hủy bỏ hiệu lực," nhưng điều này đề cập đến các trang web mà thực sự cho phép một thư mục liệt kê [khi] danh sách là những gì bạn muốn vô hiệu hóa, vì vậy điều này cũng không giúp bạn.
Tuy nhiên, thời gian đã thay đổi đáng kể.
Về mặt kỹ thuật, mỗi đối tượng vẫn độc lập và CloudFront không thực sự lưu trữ chúng trong các thư mục phân cấp, nhưng giao diện vô hiệu đã được cải tiến để hỗ trợ khớp ký tự đại diện được neo bên trái. Bạn có thể làm mất hiệu lực nội dung của một "thư mục" hoặc bất kỳ số lượng đối tượng nào mà bạn có thể khớp với một ký tự đại diện ở cuối chuỗi. Bất cứ điều gì phù hợp sẽ bị đuổi khỏi bộ nhớ cache:
Để vô hiệu hóa đối tượng, bạn có thể chỉ định một trong hai con đường cho các đối tượng cá nhân hay một con đường mà kết thúc với *
ký tự đại diện, mà có thể áp dụng cho một đối tượng hoặc để nhiều người, như thể hiện trong các ví dụ sau:
/images/image1.jpg
/images/image*
/images/*
— http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html
đẹp tăng cường. Nhưng có một bắt?
Khác với thực tế là một yêu cầu vô hiệu hóa - như mọi khi - 10 đến 15 phút để hoàn thành trong các hoạt động bình thường, câu trả lời là không, không thực sự là một bắt. Đường dẫn hủy hợp lệ 1.000 đầu tiên (trước đây là "yêu cầu" và "yêu cầu" dành cho một đối tượng duy nhất) bạn gửi trong vòng một tháng là miễn phí; sau đó, có một khoản phí, nhưng:
Giá là như nhau cho dù bạn đang vô hiệu hóa các đối tượng riêng lẻ hoặc sử dụng * ký tự đại diện để vô hiệu hóa nhiều đối tượng.
— http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html#PayingForInvalidation
Lưu ý rằng nếu bạn không bao gồm các *
ở cuối, sau đó là một hiệu lực cho /images/
(ví dụ) sẽ chỉ nói CloudFront để vô hiệu hóa bất cứ đối tượng duy nhất của bạn máy chủ gốc trả về cho các yêu cầu cho /images/
.
Dấu gạch chéo hàng đầu được ghi lại là tùy chọn.
Đây là một cách tuyệt vời để làm điều đó, nhưng chỉ khi bạn thiết lập phân phối Cloudfront thông qua Cyberduck. Cyberduck dường như không thể nhận ra một bản phân phối Cloudfront đã tồn tại. – Scottie
@Scottie - Tôi đã thiết lập tất cả Cloudfront của mình thông qua giao diện điều khiển web amazon .. cyberduck của tôi không thực sự nhận ra url của CDN (và do đó cung cấp cho tôi url trống) nhưng nó vẫn cho phép tôi vô hiệu hóa tệp. – iamserious
Huh! Sẽ phải cung cấp cho rằng một cái nhìn gần hơn sau đó. Cảm ơn! – Scottie