Lambda gets reference error saying event not defined?

0

I get a reference error saying event is not defined. So I'm trying to take event and get the attributes from it and save them into dynamo.

If i hard code the data, it inputs it into my database. so I know i'm getting the data input.

const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient();


exports.handler = async (event) => {

  try {
    await createItem()
    return { body: 'Successfully created item!' }
  } catch (err) {
    return { error: err }
  }
}

const params = {
  TableName: 'serverlessrepo-AestheticsFormDB-FormDataTable-1M0ZV9SXX6E4S',
      Item: {
      formId : event.formId,
    	CreditApp : event.creditApp,
    	FollowUp : event.followUp,
    	Injectables : event.injectables,
    	Marketing : event.marketing,
    	MeetAgain :"event.meetAgain,
    	MeetingRating :"event.scale,
    	NoOfPatients : event.patientCount,
    	ReachOut : event.reachOut,
    	SoloOwner : event.soloOwner
  }
}

async function createItem(){
  try {
    await docClient.put(params).promise();
  } catch (err) {
    return err;
  }

已提问 2 年前1166 查看次数
1 回答
0
已接受的回答

You initialize params outside the lambda handler context so the vent object is not know there.

Your code should look something like this:

const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient();


exports.handler = async (event) => {
  try {
    await createItem(event)
    return { body: 'Successfully created item!' }
  } catch (err) {
    return { error: err }
  }
}

async function createItem(event){
  params = {
    TableName: 'serverlessrepo-AestheticsFormDB-FormDataTable-1M0ZV9SXX6E4S',
    Item: {
          formId : event.formId,
    	  CreditApp : event.creditApp,
       	  FollowUp : event.followUp,
    	  Injectables : event.injectables,
    	  Marketing : event.marketing,
    	  MeetAgain : event.meetAgain,
    	  MeetingRating : event.scale,
    	  NoOfPatients : event.patientCount,
    	  ReachOut : event.reachOut,
    	  SoloOwner : event.soloOwner
     }
  }

  try {
    await docClient.put(params).promise();
  } catch (err) {
    return err;
  }
}
profile pictureAWS
专家
Uri
已回答 2 年前
profile picture
专家
已审核 1 个月前
  • genius! IT WORKED! a little different than what you shared but yes it worked!

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则