gpt4 book ai didi

amazon-web-services - AWS S3 CLI CP 文件并添加元数据

转载 作者:行者123 更新时间:2023-12-03 23:31:48 27 4
gpt4 key购买 nike

尝试将名为 test.txt 的本地文件复制到我的 s3 存储桶并将元数据添加到文件中。

但它总是打印错误:

参数 --metadata-directive:无效的选择,有效的选择是:COPY |更换

是否可以使用 cp 命令来做到这一点,因为我理解文档应该是可能的。
AWS CLI CP DOCS

这是我尝试过的命令:

aws s3 cp test.txt to s3://a-bucket/test.txt --metadata x-amz-meta-cms-id:34533452

aws s3 cp test.txt to s3://a-bucket/test.txt --metadata-directive COPY --metadata x-amz-meta-cms-id:34533452

aws s3 cp test.txt to s3://a-bucket/test.txt --metadata-directive COPY --metadata '{"x-amz-meta-cms-id":"34533452"}'

aws s3 cp test.txt to s3://a-bucket/test.txt --metadata '{"x-amz-meta-cms-id":"34533452"}'

aws --version:
aws-cli/1.9.7 Python/2.7.10 Darwin/16.1.0 botocore/1.3.7

操作系统: macOS Sierra 版本 10.12.1

编辑

值得一提的是,上传没有 --metadata 标志的文件可以正常工作。

嗯,我已经用 aws s3 cp help 查看了我的 cli 版本的帮助信息
原来它没有列出 --metadata作为一种选择,正如上面给定链接中的文档所做的那样。

如果运行旧版本的 aws cli
Use aws s3api put-object

如何将文件上传到存储桶并添加元数据:
aws s3api put-object --bucket a-bucket --key test.txt --body test.txt --metadata '{"x-amz-meta-cms-id":"34533452"}'

文档: AWS S3API DOCS

最佳答案

实际上,自 1.9.10 以来已添加了对元数据选项的支持。

aws s3 Added support for custom metadata in cp, mv, and sync.



因此,将您的 aws cli 升级到此版本(甚至更好地升级到最新版本) - 以及 metadata值需要是一张 map 所以
aws s3 cp test.txt s3://a-bucket/test.txt --metadata '{"x-amz-meta-cms-id":"34533452"}'

关于amazon-web-services - AWS S3 CLI CP 文件并添加元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40626967/

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