Lambda(Node.js)からDynamoDBのテーブルにデータを登録する
Lambda(Node.js)からDynamoDBのテーブルにデータを登録します。
AWS.DynamoDB.DocumentClient()のputメソッドを使用します。
引数のオブジェクトには以下が指定できます。
項目 | 内容 |
---|---|
TableName | 登録対象テーブル名 |
Item | 項目(オブジェクト形式) |
以下はsampleというテーブルに登録(インサート)している例です。
var AWS = require('aws-sdk'); var dynamo = new AWS.DynamoDB.DocumentClient(); exports.handler = (event, context, callback) => { const params = { TableName:'sample', Item: { 'id':'2', 'sortkey':'4', 'time': 10000 } }; dynamo.put(params, function(err, data){ console.log(data); }); callback(null, 'Hello from Lambda'); };
これで簡単にデータを登録することができます。登録時にtimeなどの予約語を使用してもそのまま登録できるようです。
AWS SDK for JavaScript v3
v3での記述方法です。
N(数値)であってもシングルクォーテーションで囲む必要があります。
import { DynamoDBClient, PutItemCommand } from '@aws-sdk/client-dynamodb' const dynamoDBClient = new DynamoDBClient() export const handler = async (event) => { // 1件目 await dynamoDBClient.send(new PutItemCommand({ TableName: 'sample', Item: { 'id': {N: '1'}, 'sortkey': {S: '1'}, 'time': {N: '10000'} } })) // 2件目 await dynamoDBClient.send(new PutItemCommand({ TableName: 'sample', Item: { 'id': {N: '1'}, 'sortkey': {S: '2'}, 'time': {N: '10000'} } })) const response = { statusCode: 200, body: JSON.stringify('Hello from Lambda!'), }; return response; };
ドキュメント
Class: AWS.DynamoDB.DocumentClient
— AWS SDK for JavaScript
AWS SDK for JavaScript v3
API Reference
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント