Users can browse sample Lambda events to use as starting points for input into their Lambda handlers
- Dominant language
- TypeScript
- Stars
- 2k
- Forks
- 807
- Avg merge
- 10h 12m
- Merged PRs (30d)
- 7
Description
Lambda invocations require a JSON "event". You can find sample events for AWS services [in the public docs](https://docs.aws.amazon.com/lambda/latest/dg/eventsources.html), but this requires the user to leave their IDE and isn't very discoverable.
* Create a "Sample Lambda Event Manager" view, and add it to the AWS viewCollection
* event manager tree would have two top level nodes: "Curated Events", and "Custom Events". This issue deals with the former (#107 deals with the latter)
* The [sample request manifest](https://github.com/aws/aws-toolkit-vscode/blob/dcb104db72acffec2a26c02e272f5940890d85e1/src/lambda/constants.ts#L13) references sample definitions, and hosted url locations. Each sample should be represented by a node on the tree
* Clicking on the node would download the sample event and open it in a new editor pane for user to see
* initial implementation is simple - no caching
* The manifest might have some structured information that groups/categorizes the events. Bonus marks for adding this structure into the tree
Later on, when we have the ability to Run/Debug Lambda Handlers locally, these events will be referenced as options to pass into the handler.
Contributor guide
Research direction
Start with the sample request manifest in src/lambda/constants.ts and locate the AWS viewCollection and existing tree-view patterns. Review how the manifest references sample definitions and hosted URLs. Done means a Sample Lambda Event Manager exposes Curated Events, and selecting an event downloads it and opens it in a new editor without caching.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100