Недавно AWS обновил среду выполнения лямбды до Node js 8.10. Я создал лямбда-функцию, которая использует асинхронную / ожидающую операцию. То, как она работает, заключается в том, что, когда делается запись в таблицу DynamodB, в тему sns отправляется сообщение с первичным ключом таблицы как часть сообщения, которое вызывает другую лямбда-функцию. При выполнении второй лямбда-функции и запросе таблицы DynamodB с первичным ключом я не могу получить значение из await. При печати значения в журнале консоли возвращается неопределенное значение. Мне не нужно передавать какое-либо значение в ключ возврата, поэтому я не использую это, чтобы передать любое значение. Ниже приведен фрагмент кода.
let AWS = require("aws-sdk");
let docClient = new AWS.DynamoDB.DocumentClient();
exports.handler = async (event) => {
// TODO implement
let tableName = "vedablogs";
let idvalue = event.Records[0].Sns.Message;
let id = idvalue.toString();
let params = {
TableName: tableName,
KeyConditionExpression: "#id = :idvalue",
ExpressionAttributeNames: {
"#id": "id"
},
ExpressionAttributeValues: {
":idvalue": id
}
};
let queryParams = await docClient.query(params).promise();
console.log('queryParams'+queryParams.Item);
return;
};