Closed
Description
Expected Behavior
When using the EventBridgeEnvelope
to parse an event, the error returned by the envelope should contain the correct path so that customers can easily find the root cause of the issue.
Current Behavior
This is the error emitted:
ParseError: Failed to parse envelope. This error was caused by: [
{
"code": "invalid_type",
"expected": "string",
"received": "undefined",
"path": [
"name"
],
"message": "Required"
}
].
The correct path should be ["detail", "name"]
since the validation applies to the detail
field.
Code snippet
{
"version": "0",
"id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718",
"detail-type": "EC2 Instance State-change Notification",
"source": "aws.ec2",
"account": "111122223333",
"time": "2017-12-22T18:43:48Z",
"region": "us-west-1",
"resources": [
"arn:aws:ec2:us-west-1:123456789012:instance/i-1234567890abcdef0"
],
"detail": {
"instance_id": "i-1234567890abcdef0",
"state": "terminated"
},
"replay-name": "replay_archive"
}
and using the following code:
const schema = z.object({
'name': z.string()
});
const parsed = EventBridgeEnvelope.parse(event, schema);
Steps to Reproduce
N/A
Possible Solution
No response
Powertools for AWS Lambda (TypeScript) version
latest
AWS Lambda function runtime
22.x
Packaging format used
npm
Execution logs
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Shipped