开发人员在 Amazon S3 上托管静态网站,并通过 CloudFront 使用自定义域提供服务。CI/CD 管道(由 CodeCommit 触发)运行一个构建阶段,该阶段执行引用 buildspec.yml 的 CodeBuild 项目。构建会将更新后的静态文件上传到 S3 存储桶,并且更新在 S3 网站 URL 上可见,但 CloudFront 分配仍提供旧内容。buildspec.yml 应该怎么做才能确保 CloudFront 提供更新后的文件?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 使 CloudFront 分配的缓存对象失效,以便 CloudFront 获取更新后的文件。.
为什么这是答案
当 CloudFront 分配提供旧内容时,通常是因为它缓存了旧文件。要确保 CloudFront 提供更新后的文件,需要使其缓存失效。使 CloudFront 分配的缓存对象失效会强制 CloudFront 在下次请求时从其源(本例中是 S3 存储桶)获取最新文件。 同步 S3 存储桶对象和删除旧文件并重新部署(选项1和2)会更新 S3 存储桶中的内容,但不会通知 CloudFront 它的缓存已过期。因此,CloudFront 仍可能提供其缓存中的旧内容。更改 S3 存储桶的 CORS 配置(选项4)与内容更新无关,CORS 主要用于控制跨域请求,不会影响 CloudFront 的缓存行为。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡