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

仅使用insert配置DynamoDB流触发器

况胡媚
2023-03-14

我目前有一个AWS DynamoDB流触发一个Lambda函数。

Lambda函数由DynamoDB中的插入和更新事件触发。是否有办法更改配置,使Lambda函数仅由“insert”触发?

共有3个答案

赫连靖琪
2023-03-14

通常,不仅对于NodeJ,而且对于所有类型,非全局表都支持这一点。在这里可以找到大量的过滤片段。

您基本上可以在触发函数之前在Lambda服务端应用过滤。

PS,也是解释它如何工作的好文章

通沛
2023-03-14

您可以使用lambda函数忽略插入以外的其余部分。

 for record in event.get('Records'):
    if record.get('eventName') in ('INSERT'):
       """ code for execution. """

    elif record.get('eventName') == 'REMOVE':
        pass
    elif record.get('eventName') ==  'MODIFY':
        pass
慕弘伟
2023-03-14

据我所知,这是不可能的。AWS Lambda轮询流并在检测到任何类型的流记录更新时调用您的Lambda函数。您的Lambda将不得不忽略您不感兴趣的记录。您可以使用流记录的eventName属性(可以有值INSERT|MODIFY|REMOVE)

 类似资料:
  • 我正在尝试使用DynamoDB流和AWS Lambda创建DynamoDB触发器。我做了很多研究,但在Java 8中找不到任何读取和处理DynamoDB流事件的方法。我对这两种技术都是新手,所以不知道如何使用它。 本质上,我想做的是每当在表A中创建记录时,都在表B中创建一条记录。 你们谁能给我指出一个在Java中处理这个用例的代码或帖子吗? 谢谢:)

  • 假设: 让我们假设数据插入DynamoDB的速率是巨大的。 上下文: 在DynamoDB表上启用流,这将触发lambda。lambda读取流记录,并在弹性搜索中对记录进行索引。 问题陈述: 在将记录插入DynamoDB的时间和通过流式记录触发lambda的时间之间存在延迟。这种延迟或滞后不断增加,并且与插入DynamoDB的数据量成正比。 如何找到滞后的位置?是流没有立即触发lambda吗?还是因

  • 我试图从DynamoDB表中设置ElasticSearch导入过程。我已经创建了AWS Lambda并启用了带有触发器的DynamoDB流,该触发器为每个添加/更新的记录调用我的Lambda。现在我想执行初始种子操作(将DynamoDB表中当前的所有记录导入ElasticSearch)。我该怎么做?有没有办法让表中的所有记录都“重新处理”并添加到流中(这样我的lambda就可以处理它们)?还是最好

  • 是否存在防止DynamoDB流在每次DynamoDB更改时触发λ的方法? 这些数字并不准确,但是假设step函数将连续运行10次,那么它将更新DynamoDB 3次。在step函数触发lambda之前,这是调用lambda的30倍。有什么方法可以阻止这些lambda调用吗?

  • 我试图触发一个lambda函数,在多个表上使用无服务器的dynamodb流。yml配置。可以在aws serverless.yml的触发器上配置通用arn吗。 有dynamodb表req\u tnt1、req\u tnt2、req\u tnt2…等等。每当req\u tnt*表更新时,我都会触发lambda并将信息存储在elasticsearch中以进行自由文本搜索。我能够处理触发lambda和更

  • 本文向大家介绍MySQL触发器 Update触发Insert失败,包括了MySQL触发器 Update触发Insert失败的使用技巧和注意事项,需要的朋友参考一下 今天工作需要,想要实现将仅对状态更新的表进行历史记录显示,于是考虑在原表中建立触发器,将更新的内容同时写入另一张表 于是进行测试 执行触发器语句,报错,报错内容如下: 分析,由于访问工具HediSQL,导致无法正常创建触发器,相同语句,