【问题标题】:Step functions - read from SQS?阶跃函数 - 从 SQS 读取?
【发布时间】:2018-08-11 05:39:31
【问题描述】:

SQS 中将有数千条消息。

是否可以在 Step 函数中等到 OrderId:123 (json) 在 SQS 中,然后在收到特定 Order Id 时执行 Lambda 函数?

编辑: Step Functions 定期调用 Lambda 函数,直到它设法检索到具有特定属性的消息。 OrderId 属性将在正文消息中。例如:

{
  "OrderId": 1235,
  "Items": [{"Id":1, "Name": "Item 1"}]
}

【问题讨论】:

  • 您的问题令人困惑。您是说您有一个 Step Function,其中一个步骤涉及想要从 Amazon SQS 队列中检索数据的 Lambda 函数?您是否希望 Step Functions 定期调用 Lambda 函数,直到它设法检索到具有特定属性的消息?是OrderId 和属性还是在消息的body 中?随时编辑您的问题以提供更多详细信息。
  • @JohnRotenstein 是的,你是对的。更新了我的问题。

标签: amazon-web-services aws-lambda amazon-sqs aws-step-functions


【解决方案1】:

不,不能有选择地从 Amazon SQS 检索消息。

您的应用程序可以请求从 SQS 接收 1-10 条消息,但不能请求特定消息。

见:Finding certain messages in SQS

您可以改为使用将消息发送到 Amazon SNS,然后使用属性 Filter Messages with Amazon SNS,并将 SQS 队列订阅到 SNS 主题以将消息的副本发送到 SQS,但这开始变得太复杂了。

您可能应该重新设计解决方案,让传入的订单触发下一个活动,而不是搜索给定的订单响应。

【讨论】:

    猜你喜欢
    • 2020-12-16
    • 2015-10-27
    • 2021-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-01
    相关资源
    最近更新 更多