Closed knightmre closed 2 months ago
Thanks for opening your first issue here! We'll come back to you as soon as we can. In the meantime, check out the #python channel on our Powertools for AWS Lambda Discord: Invite link
Hey @knightmre! Thanks for raising this issue. You're correct that the field code
should be accessed through event.request
. However, I believe we should leave code_parameter
unchanged as it's still relevant when using the Custom Message Lambda trigger, and we need to create a new one to access code
.
If that's OK I could contribute, I'd be glad to go through all the source events for Cognito as I see it's been quite a while since they have been added to the project. I could go through the current AWS docs and test it with existing Cognito Pool event behavior for all the events as we rely heavily on those in our current project.
This is truly a significant improvement! Your contribution in identifying any discrepancies between our current implementation and the actual schema used by Cognito during Lambda invocation would be immensely helpful. Please do that! I kindly request that no fields be removed, as doing so could result in breaking changes. If you notice any drift in a field, please create a new one with the updated name, and we can review it during the PR process.
I've reclassified this issue as a Feature Request. Please feel free to reach out if you have any obstacles during the contribution process.
Hi @knightmre! I hope things are going well there. Do you have any updates on this? Thanks
Hi @leandrodamascena I've submitted the PR, sorry this change took so long.
no worries <3 and thank you for the contrib. We're looking to make a release next Thursday (we're setting a goal to release again every other Thursday) -- hopefully we can finish it on time ;)
This issue is now closed. Please be mindful that future comments are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.
Expected Behavior
Accessing code_parameter property of cognito_user_pool_event.CustomMessageTriggerEvent returns the proper encrypted code.
Current Behaviour
Mapping the CustomMessageTriggerEvent data class of cognito_user_pool_event leads to a KeyError because the received event property names have been changed by AWS. The new request and documentation can be found at : https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-custom-sms-sender.html#custom-sms-sender-parameters
Code snippet
Possible Solution
Update data class source for cognito_user_pool_event to reflect the updated event. Currently it fetches
event['request']['code_parameter']
but it should fetchevent['request']['code']
If that's OK I could contribute, I'd be glad to go through all the source events for Cognito as I see it's been quite a while since they have been added to the project. I could go through the current AWS docs and test it with existing Cognito Pool event behavior for all the events as we rely heavily on those in our current project.
For now I've recreated the event class in our local code, deriving
BaseTriggerEvent
.Steps to Reproduce
This is the event trigger that is sent by Cognito that can be used as an input to the lambda handler.
Powertools for AWS Lambda (Python) version
latest
AWS Lambda function runtime
3.11
Packaging format used
PyPi
Debugging logs