是的,AWS SQS服务可以触发API Gateway代理。下面是一个使用AWS Lambda函数来实现的解决方法,Lambda函数将接收SQS消息并将其转发到API Gateway代理。
import boto3
import json
import requests
def lambda_handler(event, context):
sqs_message = event['Records'][0]['body']
api_gateway_url = 'YOUR_API_GATEWAY_URL'
# 发送SQS消息到API Gateway代理
response = requests.post(api_gateway_url, data=sqs_message)
if response.status_code == 200:
return {
'statusCode': 200,
'body': 'Message sent to API Gateway'
}
else:
return {
'statusCode': response.status_code,
'body': 'Failed to send message to API Gateway'
}
请替换YOUR_API_GATEWAY_URL
为自己API Gateway代理的URL。
完成以上步骤后,当有新的消息到达SQS队列时,Lambda函数将被触发并将消息转发到API Gateway代理。
上一篇:AWS SQS多个死信队列