Tengo un sitio web sin servidor en AWS con los archivos HTML, JS, CSS en un depósito S3; para optimizar el rendimiento, la mayoría de estos archivos están comprimidos con GZIP y marcados con gzip content-encoding en Propiedades > Metadatos .
Recientemente creé un Code Pipeline para implementar cualquier cambio en el depósito s3 ... Entonces, en lugar de reemplazar manualmente el depósito s3 de mi carpeta local, actualizo mi repositorio en CodeCommit (Git con sabor de AWS) y lo implementa en mi depósito S3 . No hay problemas con la canalización en absoluto.
El problema al que me enfrento : como resultado de la activación de la tubería de código, cuando un nuevo archivo reemplaza un archivo existente en s3, elimina las metaetiquetas que había puesto allí (en el archivo anterior)... especialmente la content-encoding : gzip ... ¡lo que estropea mi sitio web!
¿Cuál sería la mejor manera de conservar alguna o todas las metaetiquetas cuando code-pipeline implementa cosas en s3?
Idealmente, me gustaría evitar (si es posible) usar CloudFront, o escribir una función Lambda que escanee mi repositorio y agregue una etiqueta gzip a todo HTML, CSS, JS, etc.