AWS S3 文件部分大小

问题描述 投票:0回答:2

最近遇到一个大问题。当我将一个大文件(假设大约 300mb)上传到 S3 时,我将部分大小设置为 5mb。这样我就知道当我的客户端应用程序再次下载文件时如何计算校验和。

当我使用 S3 控制台重命名文件时,部分大小发生变化。零件总数从 64 个减少到 20 个。校验和失败。客户(人们)在地上尖叫和翻滚。

有人可以阐明这个问题吗?有办法改变吗?

亲切的问候, EZFrag

amazon-web-services amazon-s3
2个回答
1
投票

在 S3 中,没有“重命名”文件这样的事情。相反,发生的是 S3 是:

  1. 复制S3中的对象,然后
  2. 删除原件。

当它复制原件时,它将复制单个块,或者使用它认为合适的多部分大小。你别无选择。

您有 2 种可能的解决方案:

选项 1:如果您需要重命名文件,请通过 AWS CLI(使用

s3:CopyObject
)自行完成。不要使用 AWS 管理控制台。这样您就可以控制零件尺寸。

选项 2:不要使用内置的 MD5/etag 校验和。相反,计算您自己的并将其存储为自定义元数据。


0
投票

当您使用控制台上传时,它使用 partsize:17179870

我不知道通过控制台复制是否相同但值得一试。如果没有,您可以使用这里的方法来解决它。

附言。为什么控制台使用 17179870?不知道!我猜有人最喜欢的号码。

© www.soinside.com 2019 - 2024. All rights reserved.