【问题标题】:Get data from SQS Response从 SQS 响应中获取数据
【发布时间】:2019-07-11 22:00:19
【问题描述】:

我有一个大约 20 个 API 和等于 20 个 SQS 的列表。 例如:API 名称:XXX_API_NAME1 & SQS 名称:YYY_SQS_NAME1 其余 19 个 API 的命名约定相同

如果上述任何 API 发生任何故障,它将调用它将向其各自的 SQS 发送消息。

现在我需要从 SQS 获取信息,例如 API 名称、SQS 名称和时间戳,并且需要将这些信息草拟为发送给收件人的电子邮件。

我已经为一个 SQS 编写了触发 lambda 以接收如下消息,

sqs = boto3.resource("sqs")
queue = sqs.get_queue_by_name(QueueName='YYY_SQS_NAME1')

我打印了队列变量并得到了以下结果。

sqs.Queue(url='https://queue.amazonaws.com/558485267243/YYY-SQS-NAME1')

这是正确的方法吗?有没有办法写一个 lambda 来实现以上所有 20 个 SQS 名称和属性?

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-sqs amazon-sns


    【解决方案1】:

    没有理由像这样直接在 Lambda 函数中查询队列。你应该configure the SQS queue as an event source for the Lambda function。然后将在 event 参数中使用一条或多条 SQS 消息调用 Lambda 函数。

    如果您想要一个 Lambda 函数来处理所有 SQS 队列,只需将它们全部配置为 Lambda 函数的事件源。

    【讨论】:

      猜你喜欢
      • 2012-11-15
      • 2011-08-22
      • 1970-01-01
      • 2015-07-02
      • 2020-03-22
      • 2015-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多