Skip to content

feat(event-handler): API Event handler for AWS Lambda #1727

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

Closed
wants to merge 4 commits into from

Conversation

Muthuveerappanv
Copy link
Contributor

Description of your changes

  • New feature for api event-handler in typescript
  • Feature set follows the lambda powertools python pattern for handling apiGateway events (REST APIs)

Related issues, RFCs

#413

Issue number:

Checklist

  • My changes meet the tenets criteria
  • I have performed a self-review of my own code
  • I have commented my code where necessary, particularly in areas that should be flagged with a TODO, or hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my change is effective and works
  • The PR title follows the conventional commit semantics

Breaking change checklist

Is it a breaking change?: NO

  • I have documented the migration process
  • I have added, implemented necessary warnings (if it can live side by side)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

@boring-cyborg boring-cyborg bot added dependencies Changes that touch dependencies, e.g. Dependabot, etc. internal PRs that introduce changes in governance, tech debt and chores (linting setup, baseline, etc.) labels Oct 2, 2023
@pull-request-size pull-request-size bot added the size/XXL PRs with 1K+ LOC, largely documentation related label Oct 2, 2023
@Muthuveerappanv Muthuveerappanv changed the title feat(event-handler): API Event handler for AWS Lambda - API Gateway E… feat(event-handler): API Event handler for AWS Lambda Oct 2, 2023
@sonarqubecloud
Copy link

sonarqubecloud bot commented Oct 2, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

@github-actions github-actions bot added the feature PRs that introduce new features or minor changes label Oct 2, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Oct 2, 2023

No related issues found. Please ensure there is an open issue related to this change to avoid significant delays or closure.

@github-actions github-actions bot added do-not-merge This item should not be merged need-issue This PR needs an issue before it can be reviewed/worked on further labels Oct 2, 2023
@dreamorosi
Copy link
Contributor

Hi folks, thank you for opening this PR.

Please allow us some time to go through it and start adding comments.

You can ignore the failed check from Semantic PR, it's failing because it doesn't recognize the event-handler scope, which is expected. On the other hand, other automations related to identifying the source of the PR are failing due to the PR body having been filled incorrectly.

I can edit it if needed, but if possible please take some time to review the PR template and amend at least the "Related issues, RFCs" section using the appropriate format (issue number - i.e. #000 - should be next to the **Issue number:** text).

@Muthuveerappanv
Copy link
Contributor Author

@dreamorosi @heitorlessa - this PR has been open for sometime. Does the Powertools roadmap for 2024 has event-handler feature expansion plan? If not, we can opensource the event-handler as a standalone project. please let us know.

@heitorlessa
Copy link
Contributor

replying today @Muthuveerappanv as soon as I complete internal admin tasks :)

@heitorlessa
Copy link
Contributor

TL;DR: The goal is to launch Event Handler this year with Zod and OpenAPI integration. This year we will continue our focus on feature parity and operational excellence - ETA: v2 and Parser in Q1, Event Handler thereafter.

In the last two quarters we've had to redirect our attention to security, re:Invent, and more recently create a structure for the Powertools team formed by the end of Q3. With some internal setbacks, the operational tax accumulated and ESM headaches pushed the remaining of our focus to get V2 out asap.

This meant we couldn't dig deeper into Event Handler. On the bright side, we did hear from many customers at re:Invent which made the case stronger. They told us not only they're looking forward to this feature but they also want the newest major addition: Data Validation and OpenAPI support.

Timelines

I'm finishing goals, KPIs and key dates for the year we should not miss next week. Then, I'll work with every language to reset their iteration cycle and refresh the roadmap to reflect the headcount and operational work - ETA: early February. To prevent long periods without feedback, among other things, we'll start operational and product reviews every other week - please bear with us!

I highly suspect we might not be able to take the PR as-is, since bringing Zod support for Data Validation and OpenAPI/SwaggerUI support will need a fresh look into the Event Handler experience. By all means, feel free to open source it, we will certainly get inspirations from the great work the team did.

Long answer but necessary given our delays! Let me know if you need any extra details.

@Muthuveerappanv
Copy link
Contributor Author

@heitorlessa thanks for the explanation, makes a lot of sense.

  • Validation - Zod for Parser is something that we use internally along with event-handler through Middleware. If you remember I kick-started the parser-utility with this initial RFC. The Event-Handler has a middleware capability through which we solve parsing, validation, etc. We are open to a different approach (or) customization on top of it if needed
  • OpenApi - Definitely the roadmap of our Internal DevAx team in 2024. Would be happy to collaborate & share ideas regarding that.

@karthikeyanjp can share more concrete examples of the event-handler middleware with zod-parser to give you a better understanding.

I suggest that once the Powetools-Typescript team completes the v2 release, we should have a call/deep-dive on Event-Handler to collaborate seamlessly.

@dreamorosi
Copy link
Contributor

As discussed I will close the PR for now, we can continue the discussion under #413 for maximum awareness/visibility.

@dreamorosi dreamorosi closed this Feb 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Changes that touch dependencies, e.g. Dependabot, etc. do-not-merge This item should not be merged feature PRs that introduce new features or minor changes internal PRs that introduce changes in governance, tech debt and chores (linting setup, baseline, etc.) need-issue This PR needs an issue before it can be reviewed/worked on further size/XXL PRs with 1K+ LOC, largely documentation related
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants