通过 SQS 调用 lambda 时获取 lambda 响应
Getting lambda response when calling lambda through SQS
我有以下管道:
脚本 --> SQS --> Lambda
- 脚本向 SQS 队列发送消息。
- 根据此消息的内容,Lambda 执行不同的进程(使用一些负载调用 API)
- 脚本需要接收 API HTTP 响应,Lambda 的输出。
我怎样才能完成这最后一步? (最好使用 boto3)
你不能/不要。如果您想要来自 lambda 的响应,则直接同步调用 lambda。在你和 lambda 之间放置一个队列明确地将你的脚本与 lambda 分离。
您可以在消息中包含一些路径/标识符,告诉 lambda 在哪里放置响应,例如在什么 dynamodb 条目下或进入哪个 S3 密钥。然后您的脚本需要轮询该目标位置以获取来自 lambda 的更新。但这对我来说听起来太复杂了,我不确定直接调用 lambda 能得到什么。
我有以下管道:
脚本 --> SQS --> Lambda
- 脚本向 SQS 队列发送消息。
- 根据此消息的内容,Lambda 执行不同的进程(使用一些负载调用 API)
- 脚本需要接收 API HTTP 响应,Lambda 的输出。
我怎样才能完成这最后一步? (最好使用 boto3)
你不能/不要。如果您想要来自 lambda 的响应,则直接同步调用 lambda。在你和 lambda 之间放置一个队列明确地将你的脚本与 lambda 分离。
您可以在消息中包含一些路径/标识符,告诉 lambda 在哪里放置响应,例如在什么 dynamodb 条目下或进入哪个 S3 密钥。然后您的脚本需要轮询该目标位置以获取来自 lambda 的更新。但这对我来说听起来太复杂了,我不确定直接调用 lambda 能得到什么。