One Lambda, two services?

0

Can I have the same Lambda working as a REST service under API GW, and also consuming CloudWatch events? Or I need two separate? They would do exactly the same so I thought I could have the same JAR (I'm in Java) registered by both services, but I can't do it and don't know is it by design or I'm messing it up...
Thank you!

soco
feita há 4 anos2199 visualizações
3 Respostas
0
Resposta aceita

There can't be two entry points. A single lambda has a single handler function, which would need to separate out the different event types.

Ellison
respondido há 4 anos
0

It's certainly possible to register multiple triggers for a single lambda. We'd need to know the steps you're taking and the errors you're seeing to say more about what's going wrong in your case.

However, multiple triggers make things complicated, since you need to add logic for determining what kind of event you were invoked with, and then handle the different event formats before invoking the common code. It might be better to have two different lambdas to handle the different triggers. You might either include the common code in both deployment zips, or factor it into a layer.

Ellison
respondido há 4 anos
0

I was thinking to have the same code acting as a REST service behind the API gateway, and also handle CloudWatch scheduled events. Thus there would be two entry points, no need to differentiate between inputs.

The errors I receive are from the Quarkus framework which won't support my idea, so I was curios whether it's a Lambda principle or a Quarkus limitation. I'll go anyway with two lambdas as you suggested but I'd like to understand the principle behind...

soco
respondido há 4 anos

Você não está conectado. Fazer login para postar uma resposta.

Uma boa resposta responde claramente à pergunta, dá feedback construtivo e incentiva o crescimento profissional de quem perguntou.

Diretrizes para responder a perguntas