gpt4 book ai didi

amazon-web-services - CLI 复制后文件元数据未保存在 S3 中

转载 作者:行者123 更新时间:2023-12-04 02:00:54 26 4
gpt4 key购买 nike

我在不同地区有两个桶(假设 A 和 B)。我在存储桶 A 中有带有元数据 (x-amz-meta-mymeta) 的文件。我确实使用 CLI 执行复制命令:

aws s3 cp s3://A/${file}.tar.gz s3://B/

根据文件的不同,是否保留元数据。文件 pikachu复制后具有相同的元数据,但文件 pika-chu目标桶 B 中没有元数据。

我已经阅读了文档,但除了在 this SO answer 中公开的信息之外找不到任何其他信息。 .

即使目标文件已经存在或不存在,元数据也会丢失。

任何提示?

编辑 :即使复制命令是元数据丢失
aws s3 cp s3://A/${file}.tar.gz s3://B/${file}

编辑 :有关信息,文件的大小不同, pikachu是几 Mb 大而 pika-chu更像是 50Mb。

编辑 : 文件上传使用 aws s3 cp没有多部分信息。

最佳答案

这是关于 PUT COPY REST API 的官方文档。

查看 x-amz-metadata-directive。

REST Object Copy

对于 CLI 添加(仅对小于 5 GB 的文件有效并且没有分段复制/上传 - 分段复制不会保留所有 header ):

--metadata-directive COPY

--metadata-directive (string) Specifies whether the metadata is copied from the source object or replaced with metadata provided when copying S3 objects. Note that if the object is copied over in parts, the source object's metadata will not be copied over, no matter the value for --metadata-directive, and instead the desired metadata values must be specified as parameters on the command line. Valid values are COPY and REPLACE. If this parameter is not specified, COPY will be used by default. If REPLACE is used, the copied object will only have the metadata values that were specified by the CLI command. Note that if you are using any of the following parameters: --content-type, content-language, --content-encoding, --content-disposition, --cache-control, or --expires, you will need to specify --metadata-directive REPLACE for non-multipart copies if you want the copied objects to have the specified metadata values.



[问题后编辑]

AWS CLI 将自动使用分段上传。这是可配置的。此链接显示了 S3 配置选项。

AWS CLI S3 Configuration

关于amazon-web-services - CLI 复制后文件元数据未保存在 S3 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47347294/

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