通过 AWS Cloudfront 提供 tar.gz 文件?

通过 AWS Cloudfront 提供 tar.gz 文件?

我希望保持我的网站资产所在的 S3 存储桶整洁。

目前,我正在将所有资产上传到 S3,作为 CI/CD 管道的一部分,这有点混乱,因为生成的文件并不总是具有相同的名称,所以我现在有很多过时的文件。一个快速的解决方法是在每次发布新版本之前清空 s3 存储桶,但我一直在考虑其他方法。

运行此命令我可以从 dist 文件夹中生成一个文件:

tar -zcvf MyWebApp.tar.gz dist

是否可以仅将此 tar.gz 文件上传到我的 S3 存储桶,以便在每次发布新版本时对其进行替换,并通过 cloudfront 提供服务?

答案1

CloudFront 无法满足您的要求。您必须提供单个文件;CloudFront 只会接受请求并从 S3 提供文件。它不提供任何解压服务。

资产管道生成唯一的资产文件(使用哈希名称)是正常的,这些文件可以保留在资产服务器上,直到过期为止。原则上,如果您生成了新资产,则可以随时丢弃旧资产。资产管道不应为未更改的内容创建新名称,以便客户端可以继续使用缓存的内容。

因此,总而言之,如果您更新资产,则应该主动从 S3 中删除不再需要的资产。

相关内容