Lambda提示参考错误,说事件未定义?

0

【以下的问题经过翻译处理】 我得到了一个引用错误,说事件没有定义。因此,我正在尝试获取事件并从中获取属性,然后将它们保存到 Dynamo 中。

如果我硬编码数据,它会将其输入到我的数据库中。所以我知道我正在获取输入的数据。

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;
  } 
profile picture
專家
已提問 8 個月前檢視次數 24 次
1 個回答
0

【以下的回答经过翻译处理】 你在lambda处理程序上下文之外初始化了参数,因此事件对象不被知道。你的代码应该像这样: 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 picture
專家
已回答 8 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南