从AWS Lambda读取SQS队列

I

我有以下基础架构:

我有一个带有NodeJS + Express进程的EC2实例,该进程在端口上侦听消息(进程1)。每当进程接收到一条消息时,它将其发送到SQS队列。然后,我在同一台计算机上有另一个进程使用长轮询来读取队列(进程2)。当它在队列中找到消息时,会将数据插入位于RDS实例上的MariaDB数据库中。

为澄清起见,消息是由用户生成的,它们将包含可包含任意信息的数据块发送到进程1正在侦听的端点

现在,我想将读取SQS的进程进程2)放在Lambda函数中,以便写入队列的进程和从队列读取的进程是完全独立的。问题是我不知道是否可行。

我知道Lambda函数是为响应事件而调用的,目前支持的事件是S3,SNS,SES,DynamoDB,Kinesis,Cognito,CloudWatch和Cloudformation,但不是SQS

我当时在考虑使用SNS通知调用Lambda函数,以便每次将消息推送到队列时,都会触发SNS通知并调用Lambda函数,但是在玩了一点之后,我意识到不可能通过SQS创建SNS通知,则只能将SNS通知写入队列。

现在,我有点不知所措,因为我不知道如何继续。由于AWS服务的当前限制,我感觉无法创建此基础架构。还有另一种方式可以做我想做的事,还是我处于死胡同?

只是为了用我所做的一些研究来扩展我的问题,这个github回购展示了如何从Lambda函数读取SQS队列,但是lambda函数仅在从命令行中触发时才有效:

https://github.com/robinjmurphy/sqs-to-lambda

在自述文件中,作者提到以下内容:

更新:Lambda现在支持将SNS通知作为事件源,这使得对于SNS通知完全不需要此hack。如果您喜欢使用Lambda函数来处理SQS队列上的作业的想法,那么您可能仍然发现它很有用。

但是我认为这不能解决我的问题,SNS通知可以调用Lambda函数,但是当在SQS队列中接收到消息时,我看不到如何创建通知。

谢谢

Naveen Vijay

有几种策略可用于连接点,(A)同步或运行-睡眠-运行以保持SNS,SQS,Lambda之间的数据处理流程。

策略1:有一个lambda函数听SNS和实时处理它[请注意,SQS队列可以订阅SNS主题-这可能是日志/审计/重试操作有帮助]

策略2:假设您要获取数据源到SQS队列。您可以尝试使用2个Lambda函数[Feeder&Worker]。

给料机将是scheduled lambda function他们的工作是把项目从SQS(如果有的话),并推动它作为一个SNS主题(和永远继续这样做)

工作者将被链接以收听SNS主题,该主题将actual data processing

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在AWS SQS队列上添加权限?

来自分类Dev

在我的Storm集群中读取AWS SQS队列时导致这些ParseError异常的原因

来自分类Dev

与Laravel中的AWS Sqs队列相关的错误

来自分类Dev

AWS:读取SQS的多个实例

来自分类Dev

Amazon AWS,来自SQS队列的消息多次传递

来自分类Dev

AWS sqs队列未列出所有队列

来自分类Dev

AWS Lambda:无法通过具有VPC访问权限的Lambda函数访问SQS队列

来自分类Dev

Spring Boot,Spring Cloud AWS和AWS SQS无法从队列中读取

来自分类Dev

如何跟踪通过SQS队列AWS X射线的请求

来自分类Dev

SQS get_queue_by_name在AWS Lambda中找不到队列

来自分类Dev

带有SQS触发器的AWS Lambda,SQS Lambda目标,永不添加到目标队列

来自分类Dev

如何从外部SQS队列活动触发AWS Lambda函数

来自分类Dev

AWS SAM:在模板中使用现有的SQS队列

来自分类Dev

如何在nodeJS中获取AWS SQS队列ARN?

来自分类Dev

使用nodeJs从AWS SQS队列获取未决消息计数

来自分类Dev

如何在Rails中创建AWS SQS FIFO队列?

来自分类Dev

您在哪里可以更改触发AWS Lambda函数的SQS队列的批处理大小?

来自分类Dev

对AWS Lambda错误使用死信队列

来自分类Dev

轮询AWS SQS队列以查找具有某些属性的消息

来自分类Dev

AWS SQS + API网关+ Lambda + DB

来自分类Dev

Amazon AWS,来自SQS队列的消息已多次传递

来自分类Dev

从AWS上的SQS队列连续轮询

来自分类Dev

Spring Boot,Spring Cloud AWS和AWS SQS无法从队列中读取

来自分类Dev

类似于AWS SQS的内存队列的.Net选项

来自分类Dev

如何从 AWS 中的 SQS 队列接收超过 1 条消息?

来自分类Dev

AWS SQS 队列是否相互隔离?

来自分类Dev

如何使用 AWS DynamoDB 和 AWS SQS 创建作业队列?

来自分类Dev

AWS - Lambda 和 SQS 行为

来自分类Dev

如何在访问之前检查 aws sqs 队列是否可用?

Related 相关文章

  1. 1

    如何在AWS SQS队列上添加权限?

  2. 2

    在我的Storm集群中读取AWS SQS队列时导致这些ParseError异常的原因

  3. 3

    与Laravel中的AWS Sqs队列相关的错误

  4. 4

    AWS:读取SQS的多个实例

  5. 5

    Amazon AWS,来自SQS队列的消息多次传递

  6. 6

    AWS sqs队列未列出所有队列

  7. 7

    AWS Lambda:无法通过具有VPC访问权限的Lambda函数访问SQS队列

  8. 8

    Spring Boot,Spring Cloud AWS和AWS SQS无法从队列中读取

  9. 9

    如何跟踪通过SQS队列AWS X射线的请求

  10. 10

    SQS get_queue_by_name在AWS Lambda中找不到队列

  11. 11

    带有SQS触发器的AWS Lambda,SQS Lambda目标,永不添加到目标队列

  12. 12

    如何从外部SQS队列活动触发AWS Lambda函数

  13. 13

    AWS SAM:在模板中使用现有的SQS队列

  14. 14

    如何在nodeJS中获取AWS SQS队列ARN?

  15. 15

    使用nodeJs从AWS SQS队列获取未决消息计数

  16. 16

    如何在Rails中创建AWS SQS FIFO队列?

  17. 17

    您在哪里可以更改触发AWS Lambda函数的SQS队列的批处理大小?

  18. 18

    对AWS Lambda错误使用死信队列

  19. 19

    轮询AWS SQS队列以查找具有某些属性的消息

  20. 20

    AWS SQS + API网关+ Lambda + DB

  21. 21

    Amazon AWS,来自SQS队列的消息已多次传递

  22. 22

    从AWS上的SQS队列连续轮询

  23. 23

    Spring Boot,Spring Cloud AWS和AWS SQS无法从队列中读取

  24. 24

    类似于AWS SQS的内存队列的.Net选项

  25. 25

    如何从 AWS 中的 SQS 队列接收超过 1 条消息?

  26. 26

    AWS SQS 队列是否相互隔离?

  27. 27

    如何使用 AWS DynamoDB 和 AWS SQS 创建作业队列?

  28. 28

    AWS - Lambda 和 SQS 行为

  29. 29

    如何在访问之前检查 aws sqs 队列是否可用?

热门标签

归档