Опубликовать JSON в DynamoDB через Lambda - PullRequest
0 голосов
/ 05 июня 2018

У меня проблемы с сохранением файла JSON в моей таблице DynamoDB с помощью функции Lambda и моего API-шлюза в AWS.У меня есть следующий фрагмент кода, который выполняется после нажатия кнопки на моем 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;
  });

При нажатии веб-сайт перезагружается, поэтому я предполагаю, что функция успешно выполнена.Однако моя проблема заключается в том, что данные не поступают в правильном формате в лямбда-функции и, следовательно, не выполняется должным образом.При проверке в CloudWatch он отображается как {число: '121212'} вместо {"число": "121212"}.Любая идея, как я могу убедиться, что значение 'приходит' имеет допустимый формат JSON в моей функции Lambda?

Вот моя функция 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);
        }
    });
}

1 Ответ

0 голосов
/ 05 июня 2018

Если я читаю это право, e.number - это значение параметра JSON «число», в которое вы передаете, например, «121212».Я исхожу из предположения об использовании docClient под капотом.

Я думаю, что ваш параметр Item должен выглядеть следующим образом:

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

См. Документацию AWS для получения информации о PutItem * 1006.*https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...