我试图将输入到网页上 HTML 表单的各个字段中的数据作为 JSON 字符串发送到 AWS Lambda,以便 Lambda 可以将其输入到 DynamoDB 表中。由于这是一个类项目,我选择放弃使用网关 API,我只想从网页 javascript 内部原始调用 Lambda 函数并将 JSON 作为参数传递给 Lambda 函数。我的网页成功调用了 Lambda 函数,我已对其进行硬编码以将预定义的条目输入到 Dynamo 表中。我也有 web js 从表单制作一个 JSON 字符串。我的目标是在调用 Lambda 函数时将 JSON 字符串作为参数发送给它,但我不确定我将如何进行,因为这是我第一次使用 AWS。我知道我必须对有效载荷参数做一些事情,但我可以' 没有找到一个明确的例子来说明什么。我确保我在 HTML 中有正确的凭据和 SDK 导入。下面是我的代码:网页JS:var lambda = new AWS.Lambda();function makeJSON(){ var userID = ""; var name = document.forms["characterForm"]["characterName"].value; //alert(name); //alert(typeof name); 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; var constitution = document.forms["characterForm"]["constitution"].value; var intelligence = document.forms["characterForm"]["intelligence"].value; var wisdom = document.forms["characterForm"]["wisdom"].value; var charisma = document.forms["characterForm"]["charisma"].value; //alert(name + race + playerClass + strength, dexterity, constitution, intelligence, wisdom, charisma); characterSheetObj = {userID: userID, name: name, race: race, class: playerClass, strength: strength, dexterity: dexterity, constitution: constitution, intelligence: intelligence, wisdom: wisdom, charisma: charisma} characterSheetJSON = JSON.stringify(characterSheetObj); var myParams = { FunctionName : 'addCharacterSheet', InvocationType : 'RequestResponse', LogType : 'None', //Payload : {"userID": userID, "name": name, "race": race, "class": playerClass, "strength": strength, "dexterity": dexterity, "constitution": constitution, "intelligence": intelligence, "wisdom": wisdom, "charisma" : charisma} }我认为它与 Node.js 代码中的 events.body 有关,但同样,我对此不是很清楚,而且我无法从 Amazon 的文档中获得太多信息。任何建议、提示或资源都将不胜感激
2 回答

白猪掌柜的
TA贡献1893条经验 获得超10个赞
只需将有效负载作为 JSON 字符串传递:
var payload_obj = { name: "John", age: 30, city: "New York" };
var payload_json = JSON.stringify(payload_obj);
var myParams = {
FunctionName: 'addCharacterSheet',
InvocationType: 'RequestResponse',
LogType: 'None',
Payload: payload_json
}
lambda.invoke(myParams, function(err, data){
...
});
添加回答
举报
0/150
提交
取消