簡體   English   中英

通過Lambda在DynamoDB中發布JSON

[英]Post JSON in DynamoDB via Lambda

在Lambda函數和AWS上的API網關的幫助下,我無法在DynamoDB表中存儲JSON文件。 我有以下代碼,當我按HTML站點上的按鈕時,這些代碼將被執行:

  $('#submit').on('click', function(){
    var example = {"number":"121212"};

    $.ajax({
      type: 'POST',
      url: API_URL,
      data: JSON.stringify(example),
      contentType: "application/json",

      success: function(data){
        location.reload();
        }
    });

    return false;
  });

當按下時,網站會重新加載,因此我認為功能已成功執行。 但是我的問題是數據在lambda函數中沒有以正確的格式到達,因此無法正確執行。 在CloudWatch中簽入時,它顯示為{number:'121212'}而不是{“ number”:“ 121212”}。 知道如何在Lambda函數中確保值“到達”具有有效的JSON格式嗎?

這是我的Lambda函數:

exports.handler = function index(e, ctx, callback) {
    var params = {
        Item: { number: e.number },
        TableName: 'collectionOfNumbers'
    };
    docCLient.put(params, function(err, data) {
        if (err) {
            callback(err, null);
        } else {
            callback(null, data);
        }
    });
}

如果我讀這個權利,e.number是JSON參數“數字”要傳遞的,如“121212”的價值。 我正在從docClient是引擎蓋下putItem使用的假設。

我覺得你的項目PARAM應該是這樣的:

Item: {"number": {N: e.number}}

請參閱AWS文檔的信息有關PutItem https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM