【问题标题】:AWS Lambda constructor error "Could not find API configuration lambda-2015-03-31"AWS Lambda 构造函数错误“找不到 API 配置 lambda-2015-03-31”
【发布时间】:2018-10-02 07:30:57
【问题描述】:

我正在尝试在 nodejs 代码中初始化 lambda 客户端。调用 lambda 构造函数时出现错误。

我正在执行:

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/

【问题讨论】:

    标签: node.js amazon-web-services aws-lambda


    【解决方案1】:

    首先,您现在没有执行 lambda 函数,而是尝试使用 必需参数 region 声明一个新的 AWS Lamba 对象一个可选参数 apiVersion。要执行 lambda 函数,您必须在项目中包含以下代码:

    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' */
    };
    

    参考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);
    }
    

    【讨论】:

      猜你喜欢
      • 2021-11-20
      • 1970-01-01
      • 2022-11-24
      • 1970-01-01
      • 2018-11-09
      • 1970-01-01
      • 1970-01-01
      • 2016-01-11
      • 2018-07-07
      相关资源
      最近更新 更多