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
EXPERTE
gefragt vor 9 Monaten26 Aufrufe
1 Antwort
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
EXPERTE
beantwortet vor 9 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen