Подключите мобильный сервер AWS к DynamoDB

Вы разбираете эту строку как ObjectId?

Здесь, в моем приложении, я делаю:

ObjectId.fromString( myObjectIdString );
1
задан Daniel Toledano 8 March 2019 в 10:03
поделиться

1 ответ

Я реорганизовал некоторые фрагменты вашего кода, чтобы они выглядели намного проще, и использую async / await (убедитесь, что в качестве рабочей среды для вашей функции выбран Node 8.10) вместо обратных вызовов. Я также избавился от параметров context и callback, так как они использовались для более старых версий NodeJS. Как только вы используете Node 8+, async / await должен быть опцией по умолчанию.

Кроме того, можно связать .promise () с docClient.putItem, чтобы вы могли легко ожидать его, что упрощает ваш код. Я оставил только часть DynamoDB (которая имеет отношение к вашему вопросу)

'use strict';
console.log("Loading function");

const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient({region:process.env.MOBILE_HUB_PROJECT_REGION});

exports.handler = async (event) => {

    let params = {
        Item:{
            "prop0":1,
            "prop2":"text"
        },
        TableName:"testTable"
    };

    try {
      await docClient.put(params).promise();
    } catch (e) {
      console.log(e)
      return {
        messsage: e.message
      }
    }

    return { message: 'Data inserted successfully' };

};

Что нужно иметь в виду, если она все еще не работает:

  1. Убедитесь, что ваша лямбда-функция имеет необходимые разрешения для вставки элементов в DynamoDB (AmazonDynamoDBFullAccess сделает это)

  2. Вы ВСЕГДА должны указывать ключ разделения при вставке элементов в DynamoDB. В вашем примере JSON имеет только два свойства: prop1 и prop2. Если ни один из них не является ключом раздела, ваш код непременно завершится неудачей.

  3. Убедитесь, что ваша таблица также существует

Если код не работает, просто проверьте журналы CloudWatch, так как все исключения теперь регистрируются и выводятся на консоль.

0
ответ дан Wai Ha Lee 8 March 2019 в 10:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: