amazon-web-services - 使用 CLI 将对象与过期和缓存控制标头同步到 S3?
问题描述
我正在尝试将一些对象同步到 S3 并设置Expires
和Cache-Control
标头,但我在这里束手无策。似乎没有任何效果。这是我最近的尝试:
aws s3 sync . s3://my-bucket \
--expires "2020-06-16T13:27:40Z" \
--cache-control "max-age=315360000, public, s-maxage=31536000, max-age=31536000, immutable" \
--exclude "*" \
--metadata-directive REPLACE \
--include "bundles"
结果:没有Expires
标题,没有Cache-Control
标题。我在控制台中环顾四周(只有一个元数据,Content-Type
),我曾经看过get-object
它,我用 . 查看了响应curl
。我不太确定metadata-directive
- 文档中没有提到它--expires
,但是指令选项的文档表明它必须设置为其他选项才能工作。我必须想出什么疯狂的咒语才能在我的对象上设置这些标题?
解决方案
这最终证明是一个PEBCAC。这在单独运行时确实有效。我将它作为多步骤过程的一部分运行,该过程将首先同步一些文件,除了我想要标头的文件,然后将文件与标头同步。问题是,我在第一次同步时粗手指了exclude
模式,所以基本上所有已经同步的文件,所以标题设置同步什么也没做。啊,做开发者不是很可爱吗?
推荐阅读
- c++ - 是 new(&*p) 双倍的;无操作。因此 uninitialized_default_construct 是否也变为无操作?
- android - 更新后 Gradle 同步失败
- kibana - 在 kibana 中使用或在 vege 编辑器外部使用时,如何在 vega 图表中提供“导出为 png”选项
- php - 我在 php 中遇到“echo”为空的问题
- node.js - 错误:MongoError:管理员未授权执行命令
- php - 在 codeigniter 中使用 tank auth 时无法重定向到 auth 控制器的登录方法
- sql - 如何在多行中创建我的插入语句?
- python - 如何为 Windows 的 pyculib 添加正确的分发渠道?
- reactjs - 如何从 TextInput 字段导航到新页面?
- javascript - 关于chart.js上的标签动画是否可行