Aws lambda 在sam本地调用中递归调用lambda

Aws lambda 在sam本地调用中递归调用lambda,aws-lambda,aws-sam,aws-sam-cli,Aws Lambda,Aws Sam,Aws Sam Cli,如何在sam本地环境中递归调用lambda自身内部 const AWS = require('aws-sdk'); const lambda = new AWS.Lambda(); exports.foo = async(event, context) => { // ....... lambda.invoke({ FuncitonName: context.functionName, InvocationType: 'Event', Payload: {/* .... */}}

如何在sam本地环境中递归调用lambda自身内部

const AWS = require('aws-sdk');
const lambda = new AWS.Lambda();

exports.foo = async(event, context) => {
  // .......
  lambda.invoke({ FuncitonName: context.functionName, InvocationType: 'Event', Payload: {/* .... */}})
}
这显然不起作用

编辑

我的用例是分割数据以防止超时。
Payload
包含页码,此lambda使用页码从API获取数据并将其放入DynamoDB。
将结果返回给调用者并不重要,所以异步调用是可以的。

如果您需要调用其他函数,我建议使用
localstack
,它可以更好地支持本地使用lambda函数以及它们之间的互调


sam local
如果您只使用函数本身就可以了,但是一旦您与s3、dynamodb、sqs、lambda集成,就可以更好地使用
localstack

递归调用lambda函数有什么意义?你能描述一下你的用例吗?执行的输出是什么?这样做不会创建一个无止境的循环吗?实际上,
lambda.invoke
处于保护状态。为了简洁起见,我省略了那个