江戶川亂折騰
2021-12-23 19:25:18
我試圖將輸入到網(wǎng)頁(yè)上 HTML 表單的各個(gè)字段中的數(shù)據(jù)作為 JSON 字符串發(fā)送到 AWS Lambda,以便 Lambda 可以將其輸入到 DynamoDB 表中。由于這是一個(gè)類項(xiàng)目,我選擇放棄使用網(wǎng)關(guān) API,我只想從網(wǎng)頁(yè) javascript 內(nèi)部原始調(diào)用 Lambda 函數(shù)并將 JSON 作為參數(shù)傳遞給 Lambda 函數(shù)。我的網(wǎng)頁(yè)成功調(diào)用了 Lambda 函數(shù),我已對(duì)其進(jìn)行硬編碼以將預(yù)定義的條目輸入到 Dynamo 表中。我也有 web js 從表單制作一個(gè) JSON 字符串。我的目標(biāo)是在調(diào)用 Lambda 函數(shù)時(shí)將 JSON 字符串作為參數(shù)發(fā)送給它,但我不確定我將如何進(jìn)行,因?yàn)檫@是我第一次使用 AWS。我知道我必須對(duì)有效載荷參數(shù)做一些事情,但我可以' 沒(méi)有找到一個(gè)明確的例子來(lái)說(shuō)明什么。我確保我在 HTML 中有正確的憑據(jù)和 SDK 導(dǎo)入。下面是我的代碼:網(wǎng)頁(yè)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} }我認(rèn)為它與 Node.js 代碼中的 events.body 有關(guān),但同樣,我對(duì)此不是很清楚,而且我無(wú)法從 Amazon 的文檔中獲得太多信息。任何建議、提示或資源都將不勝感激
2 回答

繁星點(diǎn)點(diǎn)滴滴
TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超3個(gè)贊
我不知道我是否正確理解您的問(wèn)題,但您傳遞給 AWS Lambda 的參數(shù)可在 event.arguments

白豬掌柜的
TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊
只需將有效負(fù)載作為 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){
...
});
添加回答
舉報(bào)
0/150
提交
取消