-
Notifications
You must be signed in to change notification settings - Fork 146
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature request: API Gateway Event Handler router #3251
Comments
Thanks for opening your first issue here! We'll come back to you as soon as we can. |
Hi @gosantos, thank you for opening this issue. The Event Handler feature is still very much a priority for the team and is the next major feature that we are looking to add. Realistically, I think we won't be able to release a first public beta before Q1 2025. I acknowledge that this is a significant delay from previous dates I and the team have shared in other issues or discussions, but we had to adjust this timeline due to unforeseen challenges with staffing that we have now mitigated for the most part. Because of these, and also because of the increased visibility this version of Powertools for AWS has enjoyed in the last two quarters we have made the decision to prioritize work on stabilizing and improving existing features instead of taking on an additional major feature with the risk of alienating both existing and new customers with a sub par experience. Now that most of the open issues on existing utilities have been cleared, also thanks to the huge help of the community, we are ready to shift our focus back to Event Handler. I have been working on a comprehensive RFC that I expect to publish within the next ~3 weeks and leave open at least until the first week of December in #413. During this stage, once the RFC is public, we would really appreciate your and your team's feedback on the experience and features, as well as the one from the larger community. After the RFC is finalized, I'll work on creating the backlog of issues/tasks for the actual development and use this issue as meta issue to hold together all the sub-tasks/issues. In the development phase there will be opportunities for contributing, but we expect the team to spend most of its time actively developing the new feature so that we can publish our first development beta sometime in February. In terms of features, the first version of Event Handler will focus primarily on routing for REST APIs (API Gateway HTTP, REST, ALB, and Function URLs) and will support first class integration with Zod via our existing Parser feature. OpenAPI support will be part of the RFC, so that it won't be an afterthought in the DX and API, but might come in a subsequent release after the first one. We are not planning on addressing AppSync (GraphQL) nor EventBridge until later into the second half of 2025, depending on demand. Finally, to address your use case directly, we completely understand that the timeline above might not fit with your business requirements. As discussed in #2409, we consider Hono a perfectly valid solution for AWS Lambda so if you need a router before ours is ready you should definitely move forward with that. Despite your choice however, we would really appreciate your input in shaping the API & DX of the feature in the coming weeks and we hope that you'll consider using it once it's available. |
Use case
Hi everyone,
I’m writing on behalf of Banxware, a strong advocate for AWS Powertools. We use both the Python and TypeScript versions in our serverless services, and we would love to have the same experience with our TypeScript stack as we do with Python.
We recently reviewed the RFC for an Event Handler Router (#2409) and wanted to ask more info about its development progress. This feature is critical for our team, as it would significantly improve our developer experience.
Our Context:
Banxware is a small team managing a product built entirely on serverless technologies: AWS Lambdas, API Gateway, DynamoDB, etc. Currently, the lack of a built-in router within Powertools for TypeScript presents a significant challenge. Without this functionality, we face difficulties running services locally and relying on excessive infrastructure work to test simple changes.
The router will provide us the follow benefits:
At the moment we are strongly considering the use of Hono as our go-to solution for this particular case. Hono has most of the features requried by us combined with a super small overhead. We understand Hono wasn't built exclusively for this use case and still misses some feature but for sure can provide most of the DX we are looking for. We consider yet other options as well such as NestJS because we ideally would like to have full fledge solution that combines routing, open api generation, validations etc.
We understand that development priorities may shift, but we believe a router would be a valuable addition to Powertools for TypeScript. Is there any update on when this feature will be addressed?
We'd be happy to contribute to the discussion or assist in any way possible.
Solution/User Experience
We envision a router that's as streamlined and user-friendly as Hono, but with the added benefit of supporting EventBridge. We're seeking a solution that eliminates the need for type casting to match Gateway V1, V2, ELB, and other services. Additionally, built-in helpers would significantly simplify testing, enabling us to write comprehensive integration tests that simulate real-world request scenarios.
We're also excited about the potential for future extensions, particularly the integration of Zod for schema validation and OpenAPI generation. This would drastically reduce boilerplate code, streamline development, and provide a robust error handling mechanism.
Alternative solutions
No response
Acknowledgment
Future readers
Please react with 👍 and your use case to help us understand customer demand.
The text was updated successfully, but these errors were encountered: