remotion-dev / remotion

🎥 Make videos programmatically with React
https://remotion.dev
Other
20.56k stars 1.03k forks source link

EventBridge Support #3614

Open shellscape opened 7 months ago

shellscape commented 7 months ago

Feature Request 🛍️

Was curious what it would take to wire up EventBridge support as an alternative to using webhooks for notifications.

Use Case

We leverage remotion in an AWS environment which makes frequent use of EventBridge. We had to spin up a small lambda+apigateway service to handle the webhook completion notifications from remotion. That webhook lambda is a level of abstraction that we'd rather do away with, since all it does is send an event to EventBridge.

Possible Solution

Remotion is lambda-based, and it would make sense that integration with other parts of the AWS ecosystem would be desirable. In particular, lambdas ship with the aws-sdk readily available, so sending an event to an EventBridge bus seems like it would be a low-effort operation.

Only potential gotchas I could think of off-hand would be permissions, but that could reasonably stated in documentation and left up to the user.

JonnyBurger commented 7 months ago

I'm down with the idea!

Similar to other features, we can document to add more permissions if one wants to enable the feature.

alexfernandez803 commented 6 months ago

@shellscape assuming you are using renderMediaOnLambda().

@JonnyBurger would you think that this will need a new field, this will push the render success or failure to the the following destination.

EventBridge.

renderMediaOnLambda({ destination: { type: "EventBridge", source: "lambdarenderer", customData: { test: "dd" }. } })

SQS renderMediaOnLambda({ destination: { type: "SQS", queue: "lambdarenderer", customData: { test: "dd" }. } })

HTTP renderMediaOnLambda({ destination: { type: "HTTP", queue: "lambdarenderer", authorization: { userName: "", password: "" }, customData: { test: "dd" }. } })

just an idea.