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(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^


コメント