如果由 SQS 源调用,Lambda 不会将消息发送到 SQS 目标

Lambda does not send message to SQS destination if invoked by an SQS source

我有以下设置:

现在我的 Lambda 函数中有一个简单的 return:

async function handler(event) {
  return 'success';
}

如果我使用以下方法从 aws-cli 调用 lambda:

aws lambda invoke --function-name tt-yt-automation-production-1b2b-tiktok-download --invocation-type Event --cli-binary-format raw-in-base64-out /dev/null

它将return消息发送到目标SQS(SQS#2),这将触发另一个Lambda。

但是,如果 SQS#1 有消息并调用 Lambda,它不会向 SQS#2 发送消息并调用下一个 Lambda。

我怀疑 SQS 调用不算作 asynchronous invocation 并且不会向 SQS#2 发送消息。

是否缺少配置?

My suspicion is that an SQS invocation doesn't count as an asynchronous invocation and won't send a message to SQS#2.

你是对的。 SQS 调用是同步。您必须“手动”(使用 AWS SDK)将消息从您的 lambda 提交到您的 SQS#2。