如何在 Python Chalice 中创建 API 网关和 SQS 之间的直接集成

问题描述 投票:0回答:2

我有一个正在使用 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 队列。我怎样才能实现这个目标?

amazon-web-services amazon-sqs chalice
2个回答
0
投票

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


0
投票

http://scottgross.works/papers/direct

有关如何通过 API Gateway 直接集成优化 Web 应用程序的白皮书 APIGateway -> 直接 DynamoDB,无需 Lambda 配置 API 网关/IAM 和部署功能的说明。

© www.soinside.com 2019 - 2024. All rights reserved.