const params = {
TableName: 'item-table',
FilterExpression : "#tagname = :itemId",
ExpressionAttributeNames: {"#tagname": "itemId"},
ExpressionAttributeValues: {":itemId": "000001"}
};
var item ="";
dynamo.scan(params, function(err, data)
{
if (err) {
console.error("Unable to query. Error:", JSON.stringify(err, null, 2));
item = err;
} else {
console.log("Query succeeded.");
data.Items.forEach(function(item) {
item += item.itemName;
});
}
return item;
});
Der Scan wartet nicht auf die Ausgabe, sondern auf den nächsten Schritt. Wie können wir einen synchronen Aufruf von Lambda zu Dynamob ausführen?Wie kann ich synchrone dynamodb Anfrage in Lambda ausführen?
Warum möchten Sie einen synchronen Anruf? – Kannaiyan
weil aws lex asynchronen Aufruf nicht unterstützt. – Vikash
Fügen Sie in Ihrem 'return item' den Callback hinzu, der zurückgegeben werden soll. Beispiele finden Sie unter http://docs.aws.amazon.com/lex/latest/dg/lambda-input-response-format.html – Kannaiyan