我列出了大约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名称和属性?
答案 0 :(得分:1)
没有理由像这样在Lambda函数中直接查询队列。您应该configure the SQS queue as an event source for the Lambda function。然后,事件参数中的一个或多个SQS消息将调用Lambda函数。
如果您希望单个Lambda函数处理所有SQS队列,只需将它们全部配置为Lambda函数的事件源。