Назад | Перейти на главную страницу

Разница между подстановочными знаками и без подстановочных знаков при аннулировании распространения CloudFront

Ниже приведен пример сценария, который выполняется в процессе развертывания для аннулирования распространения CloudFront. Цель состоит в том, чтобы просто сделать недействительным все во всем дистрибутиве, поэтому мы используем / как путь.

aws cloudfront create-invalidation --distribution-id SOMEDISTRIBUTIONID --paths /

Но Документация CloudFront Invalidation рекомендует использовать в пути аннулирования подстановочный знак, например:

aws cloudfront create-invalidation --distribution-id SOMEDISTRIBUTIONID --paths "/*"

В чем разница между этими двумя аргументами пути? Они оба аннулируют все или нет? А есть ли разница в цене?

Если это не недокументированный особый случай, признание недействительным / сделает только главную страницу недействительной.

Обратите внимание, что из оболочки вам нужно указать '/*' чтобы предотвратить расширение оболочки.

Разницы в цене нет. Стоимость всех аннулирований одинакова. на указанный путь, соответствует ли путь 0, 1, многим или всем файлам.

Причина, по которой цена такая же, и не имеет значения, соответствуете ли вы одному или всем, это не указано, но есть предположение, что инвалидации делают две разные вещи - они изначально устанавливают записи маркеров с метками времени в распределении, которые проверяются при кешировании попадания происходят, и если объект соответствует записи о признании недействительности и старше, чем метка времени, попадание становится промахом. Затем объекты очищаются на заднем плане и маркеры удаляются. Великолепный дизайн, если это правда, и он почти должен быть примерно таким, поскольку аннулирование выполняется очень быстро, даже для /*.

Первые 1000 путей аннулирования, отправленные в месяц для каждой учетной записи AWS (а не для каждого распределения), бесплатны.