gpt4 book ai didi

amazon-web-services - AWS S3 cli - 标记目录中的所有对象

转载 作者:行者123 更新时间:2023-12-04 10:14:33 25 4
gpt4 key购买 nike

有没有办法使用单个 put-object-tagging 将标签(或标签集)应用于 S3 目录中的所有对象cli命令?

即,如果我有两个文件( test0.txttest.txt ),我可以运行以下两个命令:

>aws s3api put-object-tagging --bucket mybucket --key foo/bar/test0.txt --tagging 'TagSet=[{Key=colour,Value=blue}]'
>aws s3api put-object-tagging --bucket mybucket --key foo/bar/test1.txt --tagging 'TagSet=[{Key=colour,Value=blue}]'

当尝试将文件夹本身作为 --key 选项传递时,我收到以下错误(因为它必须引用单个对象):
>aws s3api put-object-tagging --bucket mybucket --key foo/bar/ --tagging 'TagSet=[{Key=colour,Value=blue}]
An error occurred (NoSuchKey) when calling the PutObjectTagging operation: The specified key does not exist.

有解决方法吗?

最佳答案

你好 的答案已更正(已测试过),但如果存储桶很大,这不是一个好的解决方案,aws 将需要时间来扫描整个存储桶。这是我的解决方案

aws s3api list-objects --bucket mybucket --query 'Contents[].{Key:Key}' --prefix foo/bar --output text | xargs -n 1 aws s3api put-object-tagging  --bucket mybucket --tagging 'TagSet=[{Key=colour,Value=blue}]' --key

该命令有两部分:
  • 列出bucket前缀中的所有对象并输出到文本
  • 使用 xargs -n 1循环每个结果并标记它。
  • 关于amazon-web-services - AWS S3 cli - 标记目录中的所有对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45676862/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com