透過 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 中刪除不再需要的資產。

相關內容