Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AWS Lambda event.pathParameters is undefined and hence cannot destructure a property

I am triggering my lambda function from an api. The lambda function returns a query from a dynamoDB table, I am passing an ID to in api. but it returns an error. "Cannot destructure property 'Id' of 'event.pathParameters' as it is undefined".

'use strict'
const AWS = require('aws-sdk');
AWS.config.update({ region: "ap-south-1"})

exports.handler = async  (event, context)=> {
    const ddb = new AWS.DynamoDB({apiVerion: "2012-10-08"});
    const documentClient = new AWS.DynamoDB.DocumentClient({ region: "ap-south-1"})

    let responseBody = ""
    let statusCode=""

    const { Id } =event.pathParameters;// to get the id from api 
    const params = {
        TableName: "User",
        Key:{
            // Id: "1"
            Id: Id
        }
    }

    try{
        const data = await documentClient.get(params).promise();
        // console.log(data);
        let x = data.Iteml
        responseBody = JSON.stringify
        statusCode = 200
    }
    catch(err){
        // console.log(err);
        responseBody = " Unable to get User data"
        statusCode= 403;

    }
    const response={
        statusCode: statusCode,
        headers:{
            "myheader":"test"
        },
        body: responseBody
    }
   return response;
}
like image 930
user12755352 Avatar asked Nov 19 '25 23:11

user12755352


1 Answers

I too got the same issue, event.pathParameters was undefined, then got to know than use Lambda Proxy Integration is not checked during API creation.

It should look as below in Integration request of API gateway

image1

like image 157
Vijayashankar Aruchamy Avatar answered Nov 22 '25 16:11

Vijayashankar Aruchamy