要实现AWS Lambda暴露API,并在API调用中将同一个Lambda用于SQS(异步转同步)可以按照以下步骤进行操作:
import json
def lambda_handler(event, context):
# 处理API调用的逻辑
# ...
# 将消息发送到SQS
sqs_client = boto3.client('sqs')
response = sqs_client.send_message(
QueueUrl='SQS队列的URL',
MessageBody=json.dumps(event)
)
# 返回API响应
return {
'statusCode': 200,
'body': 'API调用成功'
}
import json
def lambda_handler(event, context):
# 处理SQS队列消息的逻辑
# ...
# 返回处理结果
return {
'statusCode': 200,
'body': 'SQS消息处理成功'
}
这样,当API被调用时,Lambda函数会将收到的API请求消息发送到SQS队列中,然后异步地处理SQS队列中的消息。可以根据实际需求,对Lambda函数和SQS队列的处理逻辑进行相应的修改和扩展。