AWS Lambda編~DynamoDBと連携してみる~

前回は『AWS CodePipeline編~AWS CodePipelineを使ってみる02~』と題して、AWS CodePiplineのStage追加を試してみました。

今回は『AWS Lambda編~DynamoDBと連携してみる~』と題して、AWS LambdaでDynamoDBとの連携を試してみたいと思います。

DynamoDBとの連携

AWS LambdaではEvent SourceとしてDynamoDBを利用することが出来ます。
上記の機能を使う事でDynamoDBをトリガーにAWS Lambdaで処理をする等が可能となります。

試してみる

それでは試してみましょう!
今回は用意されている以下のサンプルを試してみます。

dynamodb-process-stream

1.DynamoDBの準備
利用するDynamoDBを用意します。
今回は以下で作成しています。

Primary Key Type: Hash
Hash Attribute Name: Id, Number

DyanamoDB
Stream

2.AWS Lambdaの設定
AWS Lambdaのサンプルを設定していきます。
dynamodb-process-streamをクリックします。

Lambda DynamoDB連携

次の画面ではEvent Sourceの設定を行います。
先ほど作成したDynamoDBを選択して進みます。

Configure Event Source

続いてLambdaの設定をしていきます。
先ずはLambdaとDynamoDBが連携出来るように「DynamoDB event stream role」を選択してRoleを作成します。
※Logsに出力するため、そちらの権限も付与されます。

DynamoDB event stream role

Create Role
Test
その後、各項目を入力した状態でReviewに進みます。

Review

問題なければCreate function をクリックして作成します。

Created

Lambda functionが正しく動くか「Test」で試してみます。

Test

「DynamoDB Update」を選択します。

Dynamo Update

成功すれば下記のようにLogが出力される形になります。

Result

3.確認してみる
最後に実際にDynamoDBでデータをPutして確認してみます。

Lambda functionのEvent SourceをEnableにします。

Disable

Enable

DynamoDBの画面でitemを作成します。

Put item

今回のLambda function では結果をCloudwatch Logsで確認します。

Logs

いかがでしたでしょうか?

次回は『AWS Lambda編~Kinesisと連携してみる~』と題して、AWS LambdaでKinesisとの連携を試してみたいと思います。
お楽しみに!!!

この記事を書いた人

aws-recipe-user