Я пытаюсь получить функцию DynamoDB batchGetItem () для возврата значений из моей таблицы.Однако при вызове он не выполняет код.Я проверил это, добавив логирование в различные разделы кода.Я вырвал мясо, но это исполняемый код (storageEvents.js):
'use strict';
var AWS = require("aws-sdk");
var storageEvents = (function () {
var dynamodb = new AWS.DynamoDB({apiVersion: '2012-08-10', region: 'us-east-1'});
var s3 = new AWS.S3({apiVersion: '2012-08-10', region: 'us-east-1'});
var myBucket = 'my.events';
var myObject = 'events.txt';
return {
loadEvents: function (session, callback) {
console.log('loadEvents');
dynamodb.batchGetItem({
RequestItems: {
'EventsData': {
Keys: [
{'country': {S: 'USA'}}
],
}
}
}, function (err, data) {
console.log('batchGetItem');
var currentEventsList = "test";
callback(currentEventsList);
});
},
loadEvent: function(session, callback) {
console.log('loadEvent');
dynamodb.getItem({
TableName: 'EventsData',
Key: { event_name: { S: 'Fun Event' } }
}, function (err, data) {
console.log('getItem');
var currentEventsList = "test";
callback(currentEventsList);
});
},
loadS3events: function(session, callback) {
console.log('loadS3events');
s3.getObject({
Bucket: myBucket,
Key: myObject
}, function(err, data) {
console.log('getObject');
var currentEventsList = "test";
callback(currentEventsList);
});
}
};
})();
module.exports = storageEvents;
Вот как он вызывается из index.js:
var storageEvents = require('./storageEvents');
storageEvents.loadEvents(session, function (currentEventsList) {
console.log("getEventsFromDynamoDb currentEventsList: " + currentEventsList);
eventList = currentEventsList;
});
Другие функции вызываются аналогично.Когда это выполняется, я вижу в журналах CloudWatch «loadEvents», но никогда не вижу «batchGetItem».Ни одна из моих попыток сделать эту работу не была успешной для DynamoDB или S3, поэтому я должен что-то делать не так.Я знаю, что мои разрешения правильны по крайней мере для DynamoDB, потому что отдельное выполнение функции загрузки для пользовательской информации в другой таблице работает нормально.Я смоделировал это после этого, но так как я обращаюсь к ним по-другому, я не уверен, что делаю неправильно.