前提・実現したいこと
DynamoDBを使ったDBの更新処理をAsyncを使用しLambdaで実行しようとしているのですが
結果を正常にレスポンスすることができない(dynamo.updateの動作に入ってからすぐに
タイムアウトとなってしまっているような状態です)
どのようにしたら、この状態を回避できるでしょうか…?
###ソースコード
Nodejs(8.0x)
1const AWS = require("aws-sdk"); 2const DynamoDB = new AWS.DynamoDB.DocumentClient({ 3 region: "ap-northeast-1" 4}); 5 6exports.handler = async (event) => { 7try{ 8 //食材情報を取得する 9 console.log('fired') 10 let param2 = { 11 TableName: "syokuzai_stock", 12 Key:{ 13 "syokuzai": event.body.itemid, 14 "userid": event.body.userid 15 }, 16 UpdateExpression: 'SET syokuzai_log = list_append(syokuzai_log, :list1_add_data)', 17 ExpressionAttributeValues: {':list1_add_data': [{'amount':event.body.num, 'price': event.body.price, 'shop': "no record", 'unit': event.body.unit }]}, 18 ReturnValues:"UPDATED_NEW" 19 } 20 //console.log(param2); 21 const syokuzaiInfo2 = await DynamoDB.update(param2) 22 .then(function(result){ 23 console.log(result); 24 }, function(err){ 25 console.log(err); 26 }).promise(); 27 return syokuzaiInfo2 28 29 } catch (err){ 30 }
Lambdaログ
Function Logs: START RequestId: b44aeb7c-a12a-4b0c-8f0d-3f98b4301b1b Version: $LATEST 2019-01-20T12:13:02.567Z b44aeb7c-a12a-4b0c-8f0d-3f98b4301b1b fired END RequestId: b44aeb7c-a12a-4b0c-8f0d-3f98b4301b1b REPORT RequestId: b44aeb7c-a12a-4b0c-8f0d-3f98b4301b1b Duration: 59.52 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 28 MB
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/01/22 03:15