首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用泛型DynamoDB流使用serverless.yml触发aws函数

如何使用泛型DynamoDB流使用serverless.yml触发aws函数
EN

Stack Overflow用户
提问于 2020-03-27 14:44:53
回答 1查看 846关注 0票数 1

我试图使用serverless.yml配置在多个表上使用dynamodb流触发lambda函数。是否可以在aws serverless.yml的触发器上配置通用arn。

有dynamodb表req_tnt1、req_tnt2、req_tnt2 ...so on。每当req_tnt*表更新时,我都会触发lambda,并将信息存储在elasticsearch中,以便进行免费文本搜索。我能够完成触发lambda和更新弹性搜索的单个表,但我在所有表的enable触发器(req_tnt*)上都面临问题。

EN

回答 1

Stack Overflow用户

发布于 2020-03-27 16:36:31

不幸的是,在这里不可能通配符。

在CloudFormation中将流定义为Serverless中的Lambda输入,如下所示:

代码语言:javascript
复制
"MyLambdaEventSourceMappingDynamodbOrdersTable": {
      "Type": "AWS::Lambda::EventSourceMapping",
      "DependsOn": "MyLambdaIamRoleLambdaExecution",
      "Properties": {
        "BatchSize": 10,
        "EventSourceArn": {
          "Fn::GetAtt": [
            "OrdersTable",
            "StreamArn"
          ]
        },
        "FunctionName": {
          "Fn::GetAtt": [
            "MyLambdaLambdaFunction",
            "Arn"
          ]
        },
        "StartingPosition": "TRIM_HORIZON",
        "Enabled": "True",
        "MaximumBatchingWindowInSeconds": 60
      }
    },

类型为AWS::Lambda::EventSourceMapping的资源使用属性EventSourceArn按照文档指定单个源。

您可以通过编写另一个Lambda函数以编程方式添加新的事件源映射,该函数在创建新表时将CloudWatch事件作为其输入,然后将该表的EventSourceMapping添加到Lambda函数中。

这可能会有扩展限制,因为每个Lambda的事件源映射的数量很可能是有限的(尽管我找不到数量)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60888306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档