我有一个正在使用 Python Chalice 构建的应用程序,并且希望在不使用 lambda 函数的情况下创建与 REST API 网关和 SQS 队列的直接集成。我的网关代码如下:
@app.route('/', methods=['POST'])
def index():
data = json.dumps(app.current_request.json_body)
queueURL = SQS.get_queue_url(QueueName=os.environ["INPUT_QUEUE_NAME"]).get('QueueUrl')
resp = SQS.send_message(QueueUrl=queueURL, MessageBody=data)
return resp
我使用
bobt3
将从我的端点获取的数据发送到 SQS 队列,但在 AWS 上,它直接集成到 Lambda 函数而不是 SQS 队列。我怎样才能实现这个目标?
chalice 无法设置 API Gateway 和 SQS 之间的集成。 Chalice 部署无服务器 python 和最小配置来支持部署。
为了实现这一目标,您需要使用 AWS 控制台/AWS CLI 或部署 cloudformation / terraform 来完成此操作
如何使用cloudformation
https://www.matthealy.com.au/blog/post/api-gateway-sqs-integration-cloudformation/
如何使用 AWS 控制台
https://medium.com/@pranaysankpal/aws-api-gateway-proxy-for-sqs-simple-queue-service-5b08fe18ce50
http://scottgross.works/papers/direct
有关如何通过 API Gateway 直接集成优化 Web 应用程序的白皮书 APIGateway -> 直接 DynamoDB,无需 Lambda 配置 API 网关/IAM 和部署功能的说明。