0

Я довольно новичок в AWS API Gateway, Lambda и DynamoDB, но я немного поработал и понял, как создать простую функцию лямбда, которая сканирует таблицу DynamoDB.Как отображать данные в ответе сканирования DynamoDB в функции лямбда?

Я думаю, что я успешно просмотрел таблицу, и в обратном вызове есть доступ к результатам в пределах переменной data.

В настоящее время моя функция просто завершается сообщением Succeeded, но я не могу на всю жизнь на самом деле выяснить, как отображать данные, которые он сканировал как ответ. Любая помощь будет принята с благодарностью.

var AWS = require('aws-sdk'); 
var dynamodb = new AWS.DynamoDB({apiVersion: '2012-08-10'}); 

exports.handler = function(event, context) { 
    var tableName = "MyTableName"; 
    dynamodb.scan({ 
     TableName : tableName 
    }, function(err, data) { 
     if (err) { 
      context.done('error','reading dynamodb failed: '+err); 
     } 
     context.succeed('Success'); 
    }); 
}; 
+0

Вы хотите сказать, как передавать данные? Вы можете вернуть данные как JSON. Пример обратного вызова (null, jsonString); – notionquest

+0

@notionquest Да, верните данные JSON. Можете ли вы расширить, где этот код действительно будет помещен внутри функции? –

ответ

1

Прямо сейчас вы возвращаете строку 'Success'. Вместо этого верните все, что вы действительно хотите вернуть. Например: context.succeed(null, data);

+0

Что сделал, спасибо. Я думал, что я это уже пробовал, и он дал сообщение об ошибке «Процесс вышел до завершения запроса», но на этот раз он работал, поэтому я ценю это! –

0

Пожалуйста, обратитесь к образцу кода here.

exports.handler = function(event, context, callback) { 
    var tableName = "MyTableName"; 
    dynamodb.scan({ 
     TableName : tableName 
    }, function(err, data) { 
     if (err) { 
      context.done('error','reading dynamodb failed: '+err); 
     }    
     callback (null, data); 
    }); 
};