Ошибка конструктора AWS Lambda «Не удалось найти конфигурацию API lambda-2015-03-31» - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь вызвать лямбду внутри кода nodejs.При вызове лямбда-конструктора я получаю сообщение об ошибке.

Я выполняю:

var aws = require('aws-sdk');
aws.config.update({region: 'us-east-1'});
var lambda = new aws.Lambda({region: 'us-east-1', apiVersion: '2015-03-31'});

В этой последней строке выдается следующее исключение:

Error: Could not find API configuration lambda-2015-03-31
    at Runtime.requireModule 
    at Runtime.requireModuleOrMock 
    at Object.get [as 2015-03-31]

Переменные средыправильно настроены.Я также делаю некоторые операции DynamoDB, и все работает нормально.

Я следовал документации AWS: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Lambda.html

Я также проверил статус сервиса (это нормально): https://status.aws.amazon.com/

1 Ответ

0 голосов
/ 02 октября 2018

Прежде всего, вы не выполняете свою лямбда-функцию прямо сейчас, вы пытаетесь объявить новый объект AWS Lamba с обязательным параметром region и необязательный параметр apiVersion.Для выполнения вашей лямбда-функции вы должны включить в свой проект следующий код:

const lambdaParams =
{
    FunctionName : functionName /* your lambdas function name */,
    Payload : JSON.stringify(event) /* The event have to be a string */,
    InvocationType: 'RequestResponse' /* Request type, right now it's going to execute your lambda function synch. To do async request you have to change 'RequestResponse' to 'Event' */
};

ref : https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Lambda.html#invoke-property

try
{
    const lambdaResp = await lambda.invoke(lambdaParams).promise();

    // TO DO: process lambdas response

    return lamdaResp;
}
catch (ex)
{
    console.error(ex);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...