Как вызвать API из Lambda - PullRequest
0 голосов
/ 09 марта 2020

У меня есть требование, когда я хочу, чтобы DynamoDB TTL помещал данные в DynamoStream (когда истек срок их действия), а затем отправлял их в Lambda. И я могу этого добиться. Теперь каждый раз, когда срок действия элемента истекает, он действует как триггер для моей лямбды, и я могу видеть элементы в console.log метода Lambda, исследуя event.

Вопрос - Я хочу сделать некоторую обработку, основанную на элементах, срок действия которых истекает. И для того, чтобы это произошло, мне нужно сделать вызов API для определенной конечной точки, передавая информацию об элементах. Я много искал в Google и даже проверил Lambda blueprints, но не смог найти базовый пример c, в котором данные, полученные lambda, отправляются в конечную точку REST. Может ли кто-нибудь направить меня с этим. Все, что я нахожу в Google, - это как интегрировать API-шлюз с лямбдой. Я новичок, поэтому мне нужно некоторое руководство здесь.

enter image description here

Спасибо!

1 Ответ

0 голосов
/ 09 марта 2020

Для Node.js Lambda довольно просто вызвать REST API. Неважно, в каком коде находится ваш бэкэнд, если он соответствует базовым шаблонам REST. Например, очень простой лямбда-узел может выглядеть так:

var https = require('https');
       exports.handler = (event, context, callback) => {
       var params = {
                    host: "example.com",
                    path: "/api/v1/yourmethod"

                    };

  var req = https.request(params, function(res) {
    let data = '';
    console.log('STATUS: ' + res.statusCode);
    res.setEncoding('utf8');
    res.on('data', function(chunk) {
        data += chunk;
    });
    res.on('end', function() {
        console.log("DONE");
        console.log(JSON.parse(data));
    });
  });
   req.end();
 };

Очевидно, ваш код будет содержать немного больше, поскольку вам придется обрабатывать событие DynamoDB, но это основы для GET.

...