调用我的Api Gateway的url会触发Lambda函数,该函数插入在SQS中传递的消息并返回队列中消息的id。 现在我创建了另一个API网关资源,并通过另一个Lambda函数打印队列中的所有消息。这是功能:
import boto3
import json
def lambda_handler(event, context):
sqs = boto3.resource('sqs')
queue = sqs.get_queue_by_name(QueueName='<queue_name>')
messages = set()
for m in range(0, 9):
msg_list = queue.receive_messages()
for msg in msg_list:
messages.add(msg.body)
return list(messages)
如何更改函数以仅获取具有指定ID的消息? 如何配置Api网关以接收此信息 参数并将其传递给Lambda函数?
答案 0 :(得分:4)
SQS不是数据库,您不能查询&#34;它。如果您需要通过某些密钥检索邮件,那么最好使用键值存储。 ElastiCache Redis和DynamoDB都非常适合此类工作。