Вопрос

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

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

Это было полезно?

Решение

Amazon добавила функцию аннулирования. Это ссылка на API.

Пример запроса из ссылки на API:

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>

Другие советы

Вот как я это делаю, используя панель управления CloudFront.

  1. Выберите CloudFront из списка сервисов.
  2. Убедитесь, что Распределения в левом верхнем углу выбирается.
  3. Затем щелкните ссылку для соответствующего дистрибутива из списка (в разделе id).

enter image description here

  1. Выберите Недействительность вкладка.
  2. Щелкните по Создать Недействительность нажмите и введите расположение файлов, которые вы хотите сделать недействительными (обновленными).

Например:

enter image description here

  1. Затем нажмите на Признать недействительным нажмите, и теперь вы должны увидеть Прогресс в соответствии со статусом.

enter image description here

Обычно для завершения вашего признания недействительным требуется 10-15 минут запрос, в зависимости от размера вашего запроса.

Как только он скажет "завершено", вы можете идти.

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

Установите TTL = 1 часу и замените

http://developer.amazonwebservices.com/connect/ann.jspa?annID=655

Скачайте бесплатную версию Cloudberry Explorer, чтобы сделать это с отдельными файлами:http://blog.cloudberrylab.com/2010/08/how-to-manage-cloudfront-object.html

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

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

Под "Amazon CDN", я полагаю, вы имеете в виду "CloudFront"?

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

Нет никакого способа "сбросить" amazon cloudfront.

Редактировать:Это был это невозможно, это сейчас.Смотрите комментарии к этому ответу.

Пользовательский интерфейс CloudFront предлагает это с помощью кнопки [i] > "Настройки распространения", вкладка "Недействительные".: https://console.aws.amazon.com/cloudfront/home#distribution-settings

В ruby, используя туманный драгоценный камень

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 минут

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top