1

I have a doubt about how to integrate lambdas in AWS environment. For this project, we decided to use an approach that works without services.

The concept is simple, but I don't know what is the best way to implement it.

I wish isolated executions - how I suppose that lambda has to be - so that a lambda doesn't know each other.

In principle, I intend to create 3 lambdas. The first one receive the payload from API Gateway.

The question is: What is the best way to pass a payload from de first lambda to the second and so on?

I'm going to use SQS, but SQS isn't a valid event source to Lambdas (please check http://docs.aws.amazon.com/pt_br/lambda/latest/dg/eventsources.html).

So, I suppose I should use some service like SNS or Kinesis.

I really want avoid that my lambdas do polling in a queue manually. I think that lambda could lose its essence. I prefer to work with push events.

I accept all suggestions since I may have misunderstood some concepts.

Thanks in advance.

Danilo Gomes
  • 571
  • 6
  • 13

1 Answers1

3

Yes, Kinesis seems like the best fit. A very similar question was asked here: How to process SQS queue with lambda function (not via scheduled events)?

Community
  • 1
  • 1
Lorenzo d
  • 2,016
  • 10
  • 17
  • 1
    From a cost perspective, as well. If you're pushing any kind of volume, Kinesis is much cheaper than SQS. – devonlazarus Jun 25 '16 at 03:28
  • Good, thank you. I've read this question too. But can I emulate a Chain of Responsibility with that combination (lambda + kinesis)? I mean I have a payload processed by a lambda and forwarded to another lambda, but they don't know each other. Kinesis control this flow like streams? Or am I going the wrong way? Thank you again. – Danilo Gomes Jun 28 '16 at 14:54