当前位置: 首页 > 知识库问答 >
问题:

AWS SQS中缺少s3事件

长孙玉泽
2023-03-14

我有一个AWS Lambda函数,它应该由来自简单队列服务SQS的消息触发。当新的json文件写入我的s3存储桶时,或者当s3存储桶中现有的json文件被覆盖时,这个SQS应该会收到一个通知。这两种情况的事件类型都是s3:ObjectCreated,我看到这两种情况的通知都是my SQS。现在的问题是,s3中经常有一个新文件(或s3中更新的现有文件),但sqs中没有相应的消息!太多文件丢失,Lambda不知道应该处理这些文件。在Lambda中,我将接收到的SQS有效负载的全部内容打印到日志文件中,然后尝试使用类似于aws--profile aaa logs filter log events--log group name/aws/Lambda/name--start time 155435760000--end time 155439651982--filter pattern“missing_file_name_pattern”的内容来查找丢失的文件,这意味着没有为此丢失的文件生成s3:objectCreated事件。是否存在一些条件阻止为新的/更新的s3文件创建s3:objectCreated事件?有办法解决吗?或者某种解决方法,可能是?

共有3个答案

楚彦
2023-03-14

请确保将所有创建对象事件作为触发器进行检查。

我有一个问题,文件在哪里

劳和歌
2023-03-14

两种可能性:

>

您有一些错误,lambda要么没有打印您在处理此消息时所期望的内容,要么没有正确搜索日志。

您还应该确保在SQS上所有记录都被成功地摄取和处理。

鲁羽
2023-03-14

根据AWS文件:

如果同时对单个无版本对象进行两次写入,则可能只发送单个事件通知。如果要确保每次成功写入都会发送事件通知,可以在bucket上启用版本控制。使用版本控制,每次成功写入都将创建对象的新版本,并发送事件通知。

https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html

还有,为什么不直接从S3触发lambda呢?

 类似资料:
  • 问题内容: 在从openni编译演示时,我偶然发现了此错误: 我在Mac上执行此操作。我最好的猜测是该文件不在我的java.library.path中 我现在的问题是:这个猜测正确吗,以及如何在netbeans中添加到java.library.path中。 提前Thx 问题答案: 将此添加到projects属性的VM选项中:-Djava.library.path = / Users / olivi

  • 问题内容: 我目前正在使用Java中的SQL。最近我收到此错误: 当我在连接字符串中添加参数时,会发生这种情况。该错误消息清楚地表明缺少sqljdbc_auth.dll,因此我尝试将dll放在与保留sqljdbc4.jar相同的路径中。 但是,这行不通,所以我想知道如何将这个dll添加到构建路径中?有特殊的方法吗? 问题答案: 好的,我发现了!我并不需要更改java.library.path,而是

  • 我在中遇到一个问题。它显示以下错误。我试图通过添加所需的依赖项来更新maven,但无法解决这个问题。 资源路径位置类型缺少工件组织。springframework。安全性:Spring Securityweb:jar:4.2.2。构建快照pom。xml/Spring Security示例xml不安全第171行Maven依赖问题

  • 问题内容: 嗨,我是Android编程的新手,我想问的问题可能很简单,但是我对如何使其工作一无所知,请多多包涵。 我从Android开发人员网站安装了android-sdk和相关工具。我按照他们的指示创建了HelloWorld应用,但出现了一些我不理解的错误。 文件MainActivity.java是一个自动生成的文件,在以下位置,我不断出现此文件错误: 因此,我尝试浏览生成的class文件中的l

  • 问题内容: 我使用以下命令在Ubuntu 12.04上安装了一个名为RYU的openflow控制器: 我试图使用ryu-manager运行python文件,如下所示。 然后我尝试使用以下方法安装gevent: 此错误的原因是什么?我试图找到使用,但没有成功。但是的输出是 系统上应该有吗?如果是这样,我应该安装什么来获得它? 问题答案: 应该这样做: 它将安装所有缺少的标题。这对我帮助很大。

  • 当尝试在glassfish 4.0(使用netbeans 7.3.1)中部署一个mavenized entreprise应用程序(包括war和jar项目)时,我遇到了与该问题类似的问题,即jar无效,因为它包含零ejb(这不是真的,因为我的应用程序jar包含4个实体类及其相应的会话bean和本地接口)。由于那篇文章中的解决方案是添加ejb-jar.xml,所以我也添加了我的部署描述符,编写如下: