Lambda(Node.js)からDynamoDBのテーブルにデータを登録する

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

コメント

タイトルとURLをコピーしました