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

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

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

 Alan Haggai Alavi06 июл. 2009 г., 11:48
Пожалуйста, попробуйте задать этот вопрос наserverfault.com.

Ответы на вопрос(9)

 04 мая 2015 г., 13:53
Где это указать?
 01 июн. 2016 г., 23:51
Вы можете установить TTL в подробностях распространения облачного фронта в разделе «Поведение». Вкладка. Включить & quot; Кэширование объектов & quot; = & quot; Настроить & quot; и вы должны быть в состоянии установить значения по умолчанию для распределения. Короткий TTL хорош при активной разработке, но его продолжительность должна быть увеличена, если обновлений не так много.

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

Решение Вопроса

Это ссылка на 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>

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

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

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

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

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

 04 дек. 2017 г., 14:03
@rsabir, пожалуйста, прочитайте все, прежде чем комментировать. То, что вы сказали, было добавлено более 6 лет назад.
 03 дек. 2017 г., 12:18
Это не так, вы можете обновить содержимое, отключив кеш
 30 сент. 2011 г., 02:01
 29 июл. 2011 г., 04:37
Это уже не точно.

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

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

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 ссылка станет доступной, что сделает ее еще быстрее.

 01 июн. 2016 г., 23:48
Примечание. Перед загрузкой новых файлов необходимо отключить кэшированные файлы. У меня были проблемы с получением обновленных файлов, когда я загружал ревизию, а затем делал недействительным старый кеш.
 30 мая 2017 г., 14:50
Я обнаружил обратное: я загружаю новый файл, а затем запускаю его.

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

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

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

Ваш ответ на вопрос