为 gsutil rsync 设置默认 cache-control header

Setting default cache-control header for gsutil rsync

由于很遗憾无法为存储桶设置默认值 cache-control header(确实应该...),是否可以指定默认值 [=16] =] header 用于 gsutil rsync 命令?或者除此之外,以编程方式获取在 rsync 期间实际更改的所有文件的列表的简单方法,我们可以将其传递给 setmeta 命令?

由于我们有很多文件在每次部署时都会发生变化,因此我们必须在每次部署后对 ** 执行 setmeta,这会花费不合理的时间...但还没有找到更好的方法可靠地确保云存储桶中所有文件的 cache-control headers 正确,因为无法为桶本身或 rsync 命令设置正确的默认值。有没有更好的方法来实现这个目标?我们缺少什么?

如果您希望上传的所有文件都使用相同的 Cache-Control header,您可以使用 gsutil -h 选项让 gsutil rsync 命令设置 Cache-Control header秒。示例:

gsutil -m -h "Cache-Control:private, max-age=0, no-transform" rsync -r ./dir gs://my-bucket

根据您的需要,您还可以no-cache

gsutil -m -h "Cache-Control:no-cache" rsync -r ./dir gs://my-bucket

可以在 Mozilla 文档站点 here 上找到指令列表 here