猿问

如何在 aws lambda 中返回函数结果并执行其他操作

假设我有以下工作流程


func get_result(event) { return result(event) }

func post_result_operations(event) { /* do some logging */ }

func lambda_handler(event) {

      return get_result(event)

      post_result_operations(event)

}

有没有办法创建一个lambda函数,这样我就可以调用该函数并返回其值,然后执行.这个想法是,我想通过API调用我的lambda函数,让函数快速返回结果,然后在返回结果后执行其他操作。有没有办法在nodejs或Golang中实现这一点。在Golang中,我们可以有类似这样的东西,但我不确定它是否有效。get_resultpost_result_operations


func lambda_handler(event) {

     defer post_result_operations(event)

     return get_result(event)

}

任何帮助将不胜感激


鸿蒙传说
浏览 120回答 1
1回答

料青山看我应如是

如果您只想记录日志,则可以查看 Lambda 扩展。但是,在函数退出后,您可以运行的时间有限。Lambda 函数返回后,代码将停止,因此之后可能发生的任何事情都不会发生。最好的方法是通过 SQS 之类的东西使处理异步。您可以将事件转移到 SQS 队列中,其他 Lambda 函数可以在该队列中处理该事件,然后返回您的结果。像这样:func get_result(event) { return result(event) }func send_to_sqs(event) { /* send the message to SQS */ }func lambda_handler(event) {      send_to_sqs(event)      return get_result(event)}
随时随地看视频慕课网APP

相关分类

Go
我要回答