我使用AWS Dynamo Streams来触发AWS Lambda函数。如果Lambda函数成功调用,我希望通过lambda提供的异步调用目标特性调用一个子lambda函数。
尽管我已经用目标子Lambda函数配置了异步调用,但是当父Lambda函数成功时,子函数不会被触发,子Lambda函数的关联CloudWatch日志组是空的。
我的父级lambda有这样的策略:AWSLambdaInvocation-DynamoDB (提供对DynamoDB流的读访问)、AWSLambdaFullAccess、AWSLambdaBasicExecutionRole
问题:为什么onSuccess和onFailure目的地不通过AWS调用父lambda?
发布于 2021-06-30 12:09:46
AWS的支持帮助我解决了这个问题。
如果为Lambda配置异步目的地,则只有异步调用Lambda函数时,异步目标才能工作。因此,在这个特定的例子中,带有事件源的DynamoDB不调用我们的函数异步,而是从流中读取。因此,还有另一个选项可以为流配置目的地,但这只适用于失败的目的地。
--异步目标只适用于异步事件源(),如SNS或S3。
因此,如果您在标题下查看“异步调用Lambda函数的服务”--这是调用Lambda异步并与异步目的地一起工作的服务集成。或者那些服务,或者如果您真的通过CLI异步调用您的函数。
因此,例如,如果您从CLI调用您的函数并传递标志--invocation-type Event。它将调用您的函数异步。如果您通过了--invocation-type RequestResponse,这将是同步的。
https://stackoverflow.com/questions/68131469
复制相似问题