Изменить идентификатор в функции API - PullRequest
0 голосов
/ 27 апреля 2019

Итак, в основном у меня есть API, который вставляет элемент в DynamoDB, и раньше, когда я тестировал его, у меня был один из идентификаторов случайным образом, используя uuid, но теперь я бы хотел, чтобы идентификатор был конкретным в зависимости от один из атрибутов.

Вот моя лямбда-функция:

export async function main(event, context) {
  const data = JSON.parse(event.body);

  var siteNameStripped = data.content.siteName.replace(/[aeiou]/gi, ' ');
  var siteNameConencted = siteNameStripped.trim();
  var siteNameFinal = siteNameConencted.toUpperCase();

  const params = {
    TableName: "sites",
    Item: {
      userId: event.requestContext.identity.cognitoIdentityId,
      siteId: siteNameFinal,
      content: JSON.stringify(data.content),
      createdAt: Date.now()
    }
  };

  try {
    await dynamoDbLib.call("put", params);
    return success(params.Item);
  } catch (e) {
    console.log(e);
    return failure({ status: false });
  }

}

Выше я получаю данные, и одним из полей является "siteName", и, как вы можете видеть, я пытаюсь взять имя сайта, ввести его в верхнем регистре, удалить все гласные и пробелы и сделать так, чтобы siteId. Когда я делаю это и пытаюсь вызвать его, я получаю сообщение об ошибке "Не удается прочитать свойство 'siteName' из неопределенного"

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