-1

SAM 文档中,显示了部署您自己的 lambda 端点并使用 Python SDK 调用它的可能性。

您只需要启动本地 lambda 端点,sam local start-lambda然后继续

# USING AWS SDK
 -------------
 #You can also use the AWS SDK in your automated tests to invoke your functions programatically.
 #Here is a Python example:

     self.lambda_client = boto3.client('lambda',
                                  endpoint_url="http://127.0.0.1:3001",
                                  use_ssl=False,
                                  verify=False,
                                 config=Config(signature_version=UNSIGNED,
                                               read_timeout=0,
                                                retries={'max_attempts': 0}))
    self.lambda_client.invoke(FunctionName="HelloWorldFunction")

我现在的问题是,我怎样才能对 Javascript SDK 做同样的事情?我总是收到关于缺少区域、未找到主机和不受支持的参数的不同错误。你有我的解决方案吗?

4

1 回答 1

1

AWS JavaScript SDK 需要区域和凭证才能发出请求。但是对于本地端点,您可以使用任意值。

以下示例对我有用:

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

const lambda = new AWS.Lambda({
  apiVersion: '2015-03-31',
  endpoint: 'http://127.0.0.1:3001',
  sslEnabled: false,
  region: 'us-east-1',
  accessKeyId: 'any',
  secretAccessKey: 'any'
});

lambda.invoke({
  FunctionName: 'HelloWorldFunction'
}, (err, res) => {
  console.log(res);
});
于 2020-10-05T17:03:01.110 回答