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

Abh*_*ain 26 amazon-s3 expires-header

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

Mau*_*ord 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
Run Code Online (Sandbox Code Playgroud)

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


小智 5

您可以使用使用S3 API的第三方应用程序对存储桶文件进行批量更改。这些应用程序将不会仅使用一个请求来设置标头,而是将自动处理10,000多个必需的请求。

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

在此处输入图片说明

在此处输入图片说明

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


Ale*_*rra -3

很确定不可能在单个请求中完成此操作。相反,您必须发出 10,000 个PUT请求,每个键一个,其中包含您想要的新标头/元数据以及x-amz-copy-source指向同一键的标头(这样您就不需要重新上传对象)。我提供的链接更详细地介绍了 PUT 复制操作,但这几乎是更改 s3 上对象元数据的方法。