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
专家
已提问 1 年前32 查看次数
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
专家
已回答 1 年前

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

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

回答问题的准则