如何为Amazon S3中的存储桶中的所有图像设置过期标头

时间:2014-02-06 14:22:45

标签: amazon-s3 expires-header

我们在Amazon S3的存储桶中有大约10,000个以上的图像,如何一次性在所有图像上设置过期标题?

6 个答案:

答案 0 :(得分:44)

只是提醒我使用AWS CLI找到了一个很好的解决方案:

aws s3 cp s3://bucketname/optional_path s3://bucketname/optional_path --recursive  --acl public-read  --metadata-directive REPLACE --cache-control max-age=2592000

这会将Cache-Control设置为30天。请注意,您可以选择复制或替换以前的标题数据。由于AWS将自动为每种媒体类型包含正确的元内容类型数据,并且我有一些错误的标题,我只是选择覆盖所有内容。

答案 1 :(得分:5)

您可以使用使用S3 API的第三方应用对存储桶文件进行批量更改。这些应用程序不会仅使用一个请求设置标题,但会自动执行10,000多个请求。

我目前使用的是Cloudberry Explorer,它是一个与S3存储桶交互的免费软件实用程序。在此工具中,我可以选择多个文件并指定将应用于所有文件的HTTP标头。

enter image description here

enter image description here

另一种方法是使用S3 API库开发自己的脚本或工具。

答案 2 :(得分:2)

另一种解决方案是在您的网址中添加response-expires参数。它设置响应的Expires标头。

请参阅http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html中的“请求参数”部分以获取更多详细信息。

答案 3 :(得分:1)

Cyber​​duck也会编辑标题。

  1. 选择所有项目
  2. 命令&我(获取信息)
  3. 提供GUI以编辑内置预设的各种标题。
  4. 刚刚在一个水桶中处理了6000张图像。

答案 4 :(得分:1)

  1. 选择文件夹
  2. 从顶部菜单中选择更多
  3. 选择更改元数据
  4. 将密钥添加为过期
  5. 将值添加为2592000(例如)

答案 5 :(得分:-3)

非常确定在单个请求中无法执行此操作。相反,您需要为每个密钥生成10,000 PUT个请求,并使用您想要的新标头/元数据以及指向同一密钥的x-amz-copy-source标头(这样您就不需要了)重新上传对象)。我提供的链接详细介绍了PUT复制操作,但它几乎是 在s3上更改对象元数据的方式。