为什么 aws cli 不能使缓存正确失效 - AWS Cloudfront

Why aws cli dont invalidate correctly the cache - AWS Cloudfront

我创建了一个 Jenkins 作业,每次部署我的前端项目时都会使缓存失效。问题是虽然AWS网站上显示缓存正在失效,但是当作业完成时,缓存并没有完全清除,所以我需要通过AWS网站手动将其失效...

我使用的自动使缓存失效的方法是通过aws container,我在其中执行以下命令:

输出文件将包含一个 json,我可以在其中获取不同的键:值。我使用的其中两个是 IdStatus。创建失效后,我将执行以下另一个管道步骤:

使用之前的命令,我每 50 秒(通过 sleep 50)查询一次 API 失效状态。当验证return一个`Status = Completed'时,作业就完成了。此条件在 while 循环内。

有人知道为什么会这样吗?

您始终必须在命令行中用 * 字符引用表达式,以避免局部 shell 扩展。正确的语法是这样的:

--paths '/*'

否则,您将尝试根据本地文件系统根目录中的内容使名称无效(由 * 捕获,由 shell 扩展)。