【问题标题】:How can I read the metadata for every item in an S3 bucket?如何读取 S3 存储桶中每个项目的元数据?
【发布时间】:2016-09-12 07:12:52
【问题描述】:

我可以使用以下命令(来自this answer)在 S3 存储桶中的每个项目上设置 Cache-Control 元数据:

aws s3 cp s3://mybucket s3://mybucket --recursive --metadata-directive REPLACE \
--cache-control max-age=86400

有没有办法读取存储桶中每个项目的 Cache-Control 元数据?

【问题讨论】:

    标签: amazon-web-services amazon-s3


    【解决方案1】:

    这个 bash 单线应该可以工作(但它非常慢,因为它为每个对象发送单独的请求):

    IFS=$'\n'; for object in `aws s3 ls s3://my-bucket-name --recursive | tr -s ' ' | cut -d' ' -f4-`; do echo $object `aws s3api head-object --bucket my-bucket-name --key $object --query CacheControl` ; done
    

    【讨论】:

    • 谢谢你——正如你所说,它可以工作,但速度很慢。此外,为了与 Cygwin 一起使用,我必须设置 IFS=$'\r\n'
    • 我还交换了输出的“列”以改善对齐。我最终使用的命令是IFS=$'\r\n'; for object in `aws s3 ls s3://my-bucket-name --recursive | tr -s ' ' | cut -d' ' -f4-`; do echo `aws s3api head-object --bucket my-bucket-name --key $object --query CacheControl` $object ; done
    猜你喜欢
    • 2022-10-19
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    • 2019-12-23
    • 2020-01-02
    • 1970-01-01
    • 2022-01-13
    • 2022-01-23
    相关资源
    最近更新 更多