Wie bekomme ich die Daten von einem Lambda, das mit einem Ereignis aufgerufen wurde, an die aufrufende Funktion zurück?Gibt Daten von asynchronem AWS Lambda zurück
Wesentlichen die Lambda-Funktion, die ich habe, ist:
exports.handler = function(event, context, callback) {
var data = {};
data.foo ='hello';
callback(null, data)
}
und der auslösende Funktion sieht wie folgt aus:
var AWS = require('aws-sdk');
var lambda = new AWS.Lambda();
var params = {
FunctionName: 'SomeFunction',
InvocationType: 'Event'
};
lambda.invoke(params, function (err, data) {
if (err) {
console.log(err, err.stack); // an error occurred
} else {
console.log(JSON.stringify(data, null, 2));
}
});
aber das einzige, was ich aus der Funktion zurück ist
{
"StatusCode": 202,
"Payload": ""
}
Ich dachte, der Punkt des Callback-Parameters war es, der aufrufenden Funktion zu ermöglichen, die Daten zu bekommen a wenn die Funktion beendet ist. Verwende ich es falsch oder ist das, was ich mit Lambdas nicht möglich bin?
Ist es nicht möglich mit dem Typ "Event" zu arbeiten? Ich dachte, der Punkt des Callback-Parameters war, dass die aufrufende Funktion in der Lage war, die Daten aus dem Lambda abzurufen, wenn sie fertig war. – user2127726
@ user2127726 siehe Bearbeiten. – idbehold
Schande. 'Sie können den optionalen Callback verwenden, um Informationen an den Aufrufer zurückzugeben, ansonsten Rückgabewert ist null', das hat es so klingen lassen, als könnte ich den Callback verwenden, um das Ergebnis des Aufrufs zurückzugeben – user2127726