使用AWS CLI向Amazon S3桶上传多个文件时保留元数据



我有一个客户端文件存档,需要上传到s3桶(100,000+文件)。从那里,需要列出文件&可在他们的网站下载。

至关重要的是,我上传的文件保留"创建日期"或"修改日期"元数据,以便文件在原始创建日期中列出。用户定义的元数据也可以,只要我能在上传后获得数据。

我尝试在AWS CLI上使用以下命令作为测试:

aws s3 cp test.pdf s3://test-bucket/ --metadata-directive COPY

但是,不保留原始元数据。是否有一个错误与复制命令或我错过了什么?任何建议或替代方法,我可以做到这一点,将不胜感激,谢谢大家。

--metadata-directive仅在源路径和目的路径均为s3路径时生效,对本地文件无影响。在这里,您可以将本地文件属性作为--metadata(用户定义元数据)传递给新创建的s3对象。例如:

#!/bin/sh
file="$1"
meta=$(stat --printf='{"x-change-time":"%z","x-access-time":"%x","x-modify-time":"%y"}' $file)
aws s3 cp "$file" s3://test-bucket/ --metadata "$meta"
test.sh ./test.pdf

最新更新