SAM模板-将SQS项目发送到现有Java服务

时间:2019-07-04 23:45:23

标签: node.js aws-lambda amazon-cloudformation aws-api-gateway serverless

我们目前有 的要求:

APIEndPoint ---> aws Lambda ------> aws SQS -----> Java_service

其中 APIEndPoint Lambda AWS_SQS 是无服务器功能(新),需要与现有的 Java_service (不是无服务器功能)。

Lambda是NodeJS运行时

SQS名称为MyQueue(例如)


如果它是另一个NodeJS lambda函数(例如sqsHandler),则代替Java_service(如上),

APIendPoint ---> aws Lambda ------> aws SQS -----> aws Lambda 2

然后模板将是:

functions:
   sqsHandlFunc:
     handler: handler.sqsHandler
     events:
       - sqs:
          arn:
             Fn:GetAtt:
                 - MyQueue
                 - Arn
             batchSize: 1

如果处理程序(sqsHandlFunc)将awsSQS连接到Java服务(非无服务器),则SAM模板连接应该是什么? Java服务(springboot应用)可通过REST api获得

1 个答案:

答案 0 :(得分:1)

您将无法通过SAM模板进行设置。您将需要使Java服务使用AWS Java SDK for SQS(特别是receiveMessage (see the receiveMessage section in this example)

)来轮询SQS队列。