新文件上传到 S3 存储桶时没有发布 SQS 事件

No SQS event published when a new file upload to S3 bucket

今天我遇到了一个问题,我不知道是否有解决方案或者它是一个错误。

在我们的项目中,我们使用 S3SQS 以及 API Gateway 作为 S3 的接口。每当通过网关上传新文件时,都会将新事件发布到 SQS 并且没有问题。

今天早些时候,我部署了我们服务的新版本并使用了 SQS 消息。为了测试一切是否按预期工作,我创建了一个新的 S3 存储桶和相应的 SQS 队列。然后我开始使用 boto3 Python 库将对象从生产存储桶复制到新创建的存储桶。

一段时间后,我注意到某些文件没有发布 SQS 事件。经过研究发现所有此类文件都大于 8Mb.

为了以防万一,我也尝试使用 AWS CLI 上传文件,但结果是一样的。

但是,当我从 AWS Web 控制台上传文件时,我可以看到 SQS 事件已发布。

因此,当通过 API GatewayAWS Web Console 而不是 AWS CLIboto3 以及可能是其他库上传到 S3 时一切正常。 似乎是错误或某些限制,但我找不到任何相关文档。

有没有人经历过类似的行为?

提前感谢您的任何提示。

我相信 8MB 是 CLI(和 SDK)将开始执行分段上传操作的大小。您可能需要为 S3 存储桶上的 s3:ObjectCreated:CompleteMultipartUpload 事件启用通知。