异步执行时的 AWS Lambda 回调

AWS Lambda callback on asynchronous execution

我有 lambda 函数,我在循环 (boto3) 中异步调用它。

for obj in somelist:
    aws_lambda.invoke(FunctionName='lambda_name', 
                    InvocationType='Event', 
                    LogType='Tail',
                    Payload=bytes(obj))

处理需要几秒钟,我希望它能向我的应用程序报告。

我该怎么做?我可以从 lambda 发送 SNS 消息,还有 CloudWatch,但感觉应该有更简单的方法吗?

如果您不想让您的应用停止,SNS 确实是您最好的选择。那,或者通过将函数传递给完成时调用的端点来模拟 SNS 的基本功能。否则,您的选择归结为或多或少在某处记录状态并轮询更新或在另一个线程中执行同步调用。