We should include some tasks for interacting / invoking AWS Lambda functions inside our src/prefect/tasks/aws/ submodule. We should probably include a few tasks:
If there's an ability to return the value from an invoked lambda function, that could be useful in the "invoke" task (maybe as a toggle-able option).
currently taking a stab at a PR for this
Awesome thank you @zangell44 ! Let me know if you run into any issues or have any questions.
is there any guidance you would give on writing tests for these tasks? (other than following the S3 tests)
I've tested functionality locally with my AWS creds, does Prefect use live AWS credentials for any testing?
@zangell44 that's a great question; we currently have an open issue for helping automate some of the boilerplate testing, but we haven't quite scoped the design yet. (Side note: if you have any ideas about making this part of contributing new tasks easier, it'd be great to hear your thoughts while they're fresh!).
Prefect doesn't use any live credentials for any unit tests, so make sure that all of your actual API calls are mocked / monkeypatched.
I don't want testing to be a burden to contributions this stage, so I'd say write as much as makes you comfortable (using the s3 tasks as a template) and we can always add more tests later if we need to.
I think I'm good to open a PR on this, but don't have permission to push my local branch to github.
Is the standard workflow to create a fork and open a PR from the fork?
Yea @zangell44, sorry if that wasn't clear! I'll add something to our Contributions doc to surface this better.
Most helpful comment
currently taking a stab at a PR for this