AWS Lambda асинхронный / ждущий шаблон - PullRequest
0 голосов
/ 11 декабря 2018

Есть ли пример, как полностью использовать 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
    }),
  };
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...