AWS API Proxy Lambda вызывает лямбду - требуется возвращаемое асинхронное значение - PullRequest
0 голосов
/ 26 октября 2018

У меня есть API AWS, использующий интеграцию Lambda-прокси.Этот API вызывает функцию Lambda, которая вызывает внешний долгосрочный API.При использовании AWS API с прокси-интеграцией для вызова этой лямбды я получаю сообщение об ошибке из-за 29-секундного ограничения AWS API Gateway.

Как я могу вернуть ответ на API от моей лямбды, когда она вызывается,но позвольте Lambda продолжить работу и выполнить внешний вызов API.

Решение, которое я сейчас пытаюсь, состоит в использовании шлюза API с интеграцией прокси для вызова функции Lambda (называемой Lambda A), которая вызывает мой длинный вызов.работает лямбда (лямбда B).

'use strict';

const AWS = require('aws-sdk');

exports.handler = (event, context, callback) => {
var aws = require('aws-sdk');
var lambda = new aws.Lambda({
region: 'us-west-2' //change to your region
});

lambda.invoke({
FunctionName: 'Lambda_B',
Payload: JSON.stringify(event, null, 2) // pass params

}, function(error, data) {
if (error) {
context.done('error', error);
}
if(data.Payload){
context.succeed(JSON.parse(data.Payload));
}
});

Затем я возвращаю значение из лямбда B с помощью

context.succeed(response);

Однако функция лямбда B не продолжает выполняться.Любая помощь будет приветствоваться, новичок в Node Js.

<AccessDeniedException>
<Message>Unable to determine service/operation name to beauthorized</Message>
</AccessDeniedException>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...