AWS Lambda 发布到 SNS

AWS Lambda Publishing to SNS

我在使用 Amazon SNS 时遇到了一个奇怪的问题。当我使用 AWS UI(发布到主题按钮)发布消息时,消息会立即传送。

但是,当我从 lambda 函数内部向同一主题发布消息时,消息要么不会被传递,要么会在 lambda 的未来调用发布更多消息后被传递。

有什么不同?

更新

我尝试使用 AWS CLI 进行发布,效果很好。

我正在为我的 lambda 使用 Java SNS 库。我正在使用 lambda 的默认凭据。我仅使用主题 ARN、消息和主题构建 PublishRequest。发布调用 returns 成功,我在 cloudwatch 日志中看到了它。

什么会导致 SNS 消息在发送更多 SNS 消息之前延迟传递?我正在测试电子邮件和 SQS 订阅 - 两者的行为相同。

我找到问题了。虽然我以为我在等待 SNS 发布请求发送,但实际上我不是。所以最重要的是,确保你的异步内容在这些 lambda 中完成,否则你会看到奇怪的行为。感谢上面的 John Rotenstein 为我指明了正确的方向。