有人知道是否可以将AWS API Gateway与Elastic Beanstalk Worker Environment一起使用以及如何对其进行配置?
我想在发布请求时通过AWS API Gateway向JSON Beanstalk Worker Environment发送JSON内容,这将进行一些业务计算(持续时间约1-2秒。然后将响应发送回去。
我希望有人能给我一些意见。
谢谢。
[不幸的是,EB worker环境无法像常规HTTP API一样工作。它不是HTTP端点,您可以在其中发布您的JSON内容并从其处理中获得结果作为响应,而是使用公开SQS队列。
因此,在您的用例中,必须将API网关与SQS队列集成。例如,在此处描述了这种集成:
但是,处理结果不会退还给您。相反,SQS队列将返回200条得到消息的代码。因此,作为客户,您将仅确认json负载已提交到SQS队列,而不是json负载已由工作人员处理。
原因是工作环境异步处理这些消息。工作环境必须将处理的结果存储在某个地方(例如DynamoDb),并且您必须具有查询结果的机制。例如,第二个API调用用于检查您的消息是否已经基于某些唯一的message_id
处理过。