Обслуживание файла tar.gz через AWS Cloudfront?

Обслуживание файла tar.gz через AWS Cloudfront?

Я хотел бы поддерживать порядок в хранилище S3, где хранятся ресурсы моего веб-сайта.

В настоящее время я загружаю все активы в S3, как часть конвейера CI/CD, это стало немного беспорядочным, так как сгенерированные файлы не всегда имеют одинаковые имена, поэтому теперь у меня много устаревших файлов. Быстрое решение — очистить корзину s3 перед каждым новым релизом, но я думал о чем-то другом.

Выполнив эту команду, я могу сгенерировать один файл из моей папки dist:

tar -zcvf MyWebApp.tar.gz dist

Можно ли загрузить только этот файл tar.gz в мой контейнер S3, чтобы он заменялся при каждом новом выпуске и обслуживался через CloudFront?

решение1

CloudFront не может делать то, что вы хотите. Вам нужно обслуживать отдельные файлы; CloudFront просто примет запрос и обслужит файл из S3. Он не предлагает вам ничего распаковывать.

Обычно конвейеры активов генерируют уникальные файлы активов (с хэшированными именами), которые можно оставить на сервере активов до истечения срока их действия. В принципе, если вы генерируете новые активы, вы всегда можете выбросить старые. Конвейер активов не должен создавать новые имена для неизмененного контента, чтобы клиенты могли продолжать использовать кэшированный контент.

Итак, подводя итог, если вы обновляете активы, вам следует активно удалять те из них, которые больше не нужны, из S3.

Связанный контент