Вопрос по – Как я могу обновить файлы на CDN Amazon (CloudFront)?

14

Есть ли способ обновить файлы, хранящиеся в Amazon CloudFront (сервис CDN Amazon)? Похоже, что он не будет принимать никаких обновлений файла, который мы создаем (например, удаляем файл и сохраняем новый с тем же именем файла, что и раньше). Нужно ли явно запускать процесс обновления, чтобы удалить файлы с пограничных серверов, чтобы опубликовать новое содержимое файла?

Спасибо за вашу помощь

Пожалуйста, попробуйте задать этот вопрос наserverfault.com. Alan Haggai Alavi

Ваш Ответ

9   ответов
2
Где это указать?
Вы можете установить TTL в подробностях распространения облачного фронта в разделе «Поведение». Вкладка. Включить & quot; Кэширование объектов & quot; = & quot; Настроить & quot; и вы должны быть в состоянии установить значения по умолчанию для распределения. Короткий TTL хорош при активной разработке, но его продолжительность должна быть увеличена, если обновлений не так много.
1

чтобы сделать это для отдельных файлов: http://blog.cloudberrylab.com/2010/08/how-to-manage-cloudfront-object.html

1

Cyberduck для Mac & amp; Windows предоставляет пользовательский интерфейс для аннулирования объекта. Ссылаться наhttp://trac.cyberduck.ch/wiki/help/en/howto/cloudfront.

12

Это ссылка на API.

Пример запроса от API Reference:

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>
0

CrossFTP для Win, Mac и Linux предоставляет пользовательский интерфейс для аннулирования CloudFront, проверьте это для более подробной информации:http://crossftp.blogspot.com/2013/07/cloudfront-invalidation-with-crossftp.html

16

Select CloudFront from the list of services. Make sure Distributions from the top left is selected. Next click the link for the associated distribution from the list (under id).

enter image description here

Select the Invalidations tab. Click the Create Invalidation button and enter the location of the files you want to be invalidated (updated).

For example:

enter image description here

Then click the Invalidate button and you should now see InProgress under status.

enter image description here

It usually takes 10 to 15 minutes to complete your invalidation request, depending on the size of your request.

Как только он говорит, что завершено, вы готовы.

Tip: После того, как вы создали несколько недействительных файлов, если вы вернетесь и вам нужно будет аннулировать те же файлы, используйте поле выбора иCopy ссылка станет доступной, что сделает ее еще быстрее.

Примечание. Перед загрузкой новых файлов необходимо отключить кэшированные файлы. У меня были проблемы с получением обновленных файлов, когда я загружал ревизию, а затем делал недействительным старый кеш.
Я обнаружил обратное: я загружаю новый файл, а затем запускаю его.
1

В рубине, используя камень тумана

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 минут для обработки и обновления аннулирования на всех пограничных серверах Amazon

1

Пользовательский интерфейс CloudFront предлагает это под кнопкой [i] & gt; & quot; Параметры распространени & quot ;, вкладка & quot; Invalidations & quot ;:https://console.aws.amazon.com/cloudfront/home#distribution-settings

1

Кажется, я помню, что уже видел это на сервере, но вот ответ:

По "Amazon CDN" Я предполагаю, что вы имеете в виду «CloudFront»?

Он кэшируется, поэтому, если вам нужно обновить его прямо сейчас (в отличие от "новой версии будет видно через 24 часа"), вам придется выбрать новое имя. Вместо & quot; logo.png & quot; используйте & quot; logo.png - 0 & quot; и затем обновите его, используя & quot; logo.png - 1 & quot; и измените HTML-код, чтобы указать на это.

Нет способа "очистить" облачный фронт амазонки.

Edit: Этоwas не возможно, это сейчас. Смотрите комментарии к этому ответу.

Это не так, вы можете обновить содержимое, отключив кеш
Увидетьstackoverflow.com/questions/1268158/…
@rsabir, пожалуйста, прочитайте все, прежде чем комментировать. То, что вы сказали, было добавлено более 6 лет назад.
Это уже не точно.

Похожие вопросы