【问题标题】:Cloudformation Lambda with dynamodb streams between two templatesCloudformation Lambda 与两个模板之间的 dynamodb 流
【发布时间】:2019-02-23 21:56:46
【问题描述】:

我有两个 Cloudformation 堆栈。其中之一定义了 Dynamodb。

我希望第二个堆栈使用第一个堆栈中引用的 Dynamodb。第二个堆栈有一个 Lambda 函数,它将从堆栈 1 接收 dynamodb 流。

我应该如何将 dynamodb 从一个堆栈导出和导入到另一个堆栈以供 Lambda 流使用?

【问题讨论】:

    标签: aws-lambda amazon-cloudformation


    【解决方案1】:

    在 DynamoDB 表堆栈中,导出表的 StreamArn 属性。使用它作为 EventSourceArn 的值在您的 Lambda 堆栈中定义 EventSourceMapping 资源。

    # DynamoDB stack
    Resources:
      Table:
        Type: AWS::DynamoDB::Table
        Properties:
          StreamSpecification: NEW_AND_OLD_IMAGES  
          # etc.
    
    Outputs:
      TableStreamArn:
        Value: !GetAtt Table.StreamArn
        Export:
          Name: StreamArn
    
    # Lambda stack
    Resources:
      Function:
        Type: AWS::Lambda::Function
        # etc.
    
      EventMapping:
        Type: AWS::Lambda::EventSourceMapping
        Properties:
          EventSourceArn: !ImportValue StreamArn
          FunctionName: !GetAtt Function.Arn
          # etc.
    

    您也可以反过来做 - 将 Lambda 函数 ARN 导入 DynamoDB 堆栈并在那里定义事件映射,但这对我来说不太合乎逻辑。

    【讨论】:

      猜你喜欢
      • 2017-08-13
      • 2018-09-15
      • 2016-12-22
      • 1970-01-01
      • 1970-01-01
      • 2021-11-03
      • 2013-08-07
      • 1970-01-01
      • 2019-12-13
      相关资源
      最近更新 更多