Javascript 如何从网页中的js向aws lambda中的节点函数发送参数?

Javascript 如何从网页中的js向aws lambda中的节点函数发送参数?,javascript,node.js,aws-lambda,Javascript,Node.js,Aws Lambda,我试图将从网页中的字段创建的json文件发送到AWS Lambda中的节点函数,以将其添加到DynamoDB表中。我制作了JSON,但我不知道如何将它从用于页面的js传递到lambda函数。由于这是一个类项目,我的团队和我决定放弃amazon的网关API,只是使用amazon的JSSDK调用lambda函数。我查看了Amazon的文档和其他各种示例,但没有找到完整的解决方案 lambda中的节点函数 const AWS = require('aws-sdk'); const db = new A

我试图将从网页中的字段创建的json文件发送到AWS Lambda中的节点函数,以将其添加到DynamoDB表中。我制作了JSON,但我不知道如何将它从用于页面的js传递到lambda函数。由于这是一个类项目,我的团队和我决定放弃amazon的网关API,只是使用amazon的JSSDK调用lambda函数。我查看了Amazon的文档和其他各种示例,但没有找到完整的解决方案

lambda中的节点函数

const AWS = require('aws-sdk');
const db = new AWS.DynamoDB.DocumentClient({region: 'us-east-1'});

exports.handler = async (event) => {

const params = {
    TableName : 'characterTable',
    Item: {
      name : 'defaultName'
    }

   };

    const userID = 'placeholder';
    params.Item.userID = userID;
    return await db.put(params).promise();

    };

//}

网页js:


var lambda=新的AWS.lambda();
函数makeJSON(){
var userID=“”;
变量名称=document.forms[“characterForm”][“characterName”]。值;
var race=document.forms[“characterForm”][“race”].value;
var playerClass=document.forms[“characterForm”][“class”].value;
var-strength=document.forms[“characterForm”][“strength”].value;
var dexterity=document.forms[“characterForm”][“dexterity”].value;
变量构成=document.forms[“characterForm”][“composition”].value;
var intelligence=document.forms[“characterForm”][“intelligence”].value;
var WITHIST=document.forms[“characterForm”][“WITHIST”].value;
var charisma=document.forms[“characterForm”][“charisma”].value;
characterSheetObj={userID:userID,name:name,race:race,class:playerClass,力量:力量,灵巧:灵巧,体质:体质,智力:智力,智慧:智慧,魅力:魅力}
characterSheetJSON=JSON.stringify(characterSheetObj);
警报(characterSheetJSON);
var myParams={
FunctionName:'addCharacterSheet',
调用类型:“RequestResponse”,
日志类型:“无”,
有效负载:characterSheetJSON
}
调用(myParams,函数(err,data){
//如果出现错误,将提示错误消息
如果(错误){
提示(错误);
}
//否则会显示一条消息,表明它没有出错。lambda函数目前不执行任何操作
//将来,lambda函数应该为这里的JavaScript生成一个json文件,以便进行处理
否则{
警报(“未出错”);
}
});
}
原始javascript的html页面包括导入sdk和配置区域/用户池的正确设置


我只是不知道如何从我的节点函数的调用中获取有效负载,因为这是我第一次使用lambda和amazon的sdk,或者老实说,我会使用async wait来完成任何web开发工作。最好是读书

lambda.invoke = util.promisify(lambda.invoke);
const result = await lambda.invoke(yourParams);
const payload = JSON.parse(result.Payload);