Есть ли пример, как полностью использовать async / await в лямбда-функциях aws?Большинство лямбда-примеров начинаются с:
module.exports.handler = (event, context, callback) => {
Теперь я попытался использовать:
module.exports.hello = async (event, context) => {
, но теперь мне нужно вызвать лямбда-функцию в этой лямбда-функции.
Могу я просто написать:
'use strict';
const AWS = require('aws-sdk');
const lambda = new AWS.Lambda({
region: 'my-region'
});
let params = {
FunctionName: process.env.lambdafunc, /* required */
Payload: "",
InvocationType: "Event"
};
module.exports.hello = async (event, context) => {
/** HERE COMES SOME CODE AND BUSINESS LOGIC
* ...
* ...
*/
params.Payload = new Buffer(JSON.stringify(MYJSONDATA));
data = await lambda.invokeAsync(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
return {
statusCode: 200,
body: JSON.stringify({
message: 'Go Serverless v1.0! Your function executed successfully!',
data: data
}),
};
};