🙌
LambdaでDynamoDBから情報を取得しよう(Ruby)
今回やること
- LambdaでDynamoDBの値を取得しよう。
- メインはLambda関数の作成。
DynamoDB構成
今回は東京リージョンで単純に値が1個しか入っていないテーブルを使用します。
Lambda関数の作成
- 名前を入力しランタイムをRubyにします。
- 事前にLambda実行用のIAMロールを作成しています。
- AWS管理ポリシーの2つを使用
- AmazonDynamoDBReadOnlyAccess
DynamoDBの読み込み権限を付与 - AWSLambdaBasicExecutionRole
CloudWatchへのログ出力権限を付与
- AmazonDynamoDBReadOnlyAccess
- AWS管理ポリシーの2つを使用
- その他はデフォルトで関数を作成
コード
require 'aws-sdk-dynamodb'
def get_value(dynamodb_client, table_name, partition_key)
table = dynamodb_client.scan(table_name: table_name)
table.items[0][partition_key]
end
def lambda_handler(event:, context:)
region = "ap-northeast-1"
table_name = "system_table"
partition_key = "sample_partition"
dynamodb_client = Aws::DynamoDB::Client.new(region: region)
puts get_value(dynamodb_client, table_name, partition_key)
end
出力結果は期待通りのものになります。
> value
Discussion