LoginSignup
7
6

More than 5 years have passed since last update.

serverless frameworkでDynamoDB streamsとトリガーの登録をする

Last updated at Posted at 2017-08-18

以下の記事などが投稿された頃にはできなかった
「eventsでFn::GetAttを使ってDynamoDBのstreamsと紐付ける」
が今はできるようになっている。

serverless frameworkでDynamoDBとLambdaのイベントを関連付ける
Serverless Frameworkでやったことをまとめてみた

PR #3111で対応したっぽいのでバージョン1.9以降なら使える。

上記のPRやDocsに記述されているように、以下のように定義する

functions:
 Hello:
    handler: handler.hello
    events:
      - stream:
          type: dynamodb
          arn:
            Fn::GetAtt:
              - MyDynamoDbTable
              - StreamArn
# ...

resources:
  Resources:
    MyDynamoDbTable:
      Type: "AWS::DynamoDB::Table"
      Properties:
        TableName: my-table
        AttributeDefinitions:
          - AttributeName: id
            AttributeType: N
        KeySchema:
          - AttributeName: id
            KeyType: HASH
        ProvisionedThroughput:
          ReadCapacityUnits: 1
          WriteCapacityUnits: 1
        StreamSpecification:
          StreamViewType: NEW_AND_OLD_IMAGES
7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6