gpt4 book ai didi

amazon-s3 - 附加到 S3 ObjectCreated 事件的 AWS Lambda 返回“NoSuchKey : The specified key does not exist:

转载 作者:行者123 更新时间:2023-12-02 21:32:48 25 4
gpt4 key购买 nike

我正在通过此代码将文件从 Android 设备上传到 S3 存储桶

TransferUtility trasnferManager = new TransferUtility(s3, context);
trasnferManager.upload(..,..,..);

之后,我将 lambda 触发器附加到 S3:ObjectCreated 事件。

执行 lambda 时,我尝试通过 S3.getObject() 函数获取文件。不幸的是,有时我会收到“NoSuchKey:指定的 key 不存在:”错误。之后 lambda 重试几次并成功获取文件并继续执行。

在我看来,lambda 函数是在 S3 中的文件可用之前执行的?但这不应该是设计造成的。触发器应在 S3 上的文件上传完成后触发。

根据2015年8月4日公告:

Amazon S3 buckets in all Regions provide read-after-write consistency for PUTS of new objects and eventual consistency for overwrite PUTS and DELETES.

Read-after-write consistency allows you to retrieve objects immediately after creation in Amazon S3.

但在此之前:

All regions except US Standard (renamed to US East (N. Virginia)) supported read-after-write consistency for new objects uploaded to Amazon S3.

我的存储桶位于美国东部(弗吉尼亚北部)区域,并且是在2015 年 8 月 4 日之前创建的。我不知道这可能是问题所在......

编辑:2016年10月20日

根据documentaion - EVENTUALLY CONSISTENT READ 操作可能会返回NO RESULT,即使之前已完成两个或多个WRITE 操作。

在此示例中,W1(写入 1)和 W2(写入 2)均在 R1(读取 1)和 R2 开始之前完成(读2)。为了获得一致的读取,R1 和 R2 都返回颜色 = ruby 色。为了最终一致读取,R1 和 R2 可能返回颜色 = 红色、颜色 = ruby ,或没有结果,具体取决于数量已过去的时间。

Consistent example

最佳答案

有时,当文件很大时,会使用分段上传的方式进行上传,并在文件完全上传之前向 lambda 发送触发器。推测与触发Lambda函数的事件有关。在 lambda 函数的事件字段中,确保将 put 和 Complete 分段上传添加到事件中。

关于amazon-s3 - 附加到 S3 ObjectCreated 事件的 AWS Lambda 返回“NoSuchKey : The specified key does not exist:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38992170/

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