使用CLI将对象与过期和缓存控制标头同步到S3吗?

时间:2019-06-17 13:38:15

标签: amazon-web-services amazon-s3

我正在尝试将一些对象同步到S3并设置ExpiresCache-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下没有提到,但是指令选项的文档指出必须设置为其他选项去工作。将这些标头设置在我的对象上,我应该想到什么疯狂的咒语?

1 个答案:

答案 0 :(得分:0)

最终成为PEBCAC。当单独运行时,这确实有效。我将其作为多步骤过程的一部分运行,该过程将首先同步一些文件(除了我想要头文件的文件,然后再将文件与头文件同步)。问题是,我在第一次同步中使用了exclude模式,所以基本上所有文件都已经同步了,因此标头设置同步什么也没做。啊,不是一个可爱的开发人员吗?