Ошибка ожидания ожидания обещания в Lambda? - PullRequest
1 голос
/ 22 февраля 2020

Я тестирую лямбда-функцию без сервера и получаю сообщение об ошибке тайм-аута, которое, по моему мнению, связано с обещанием await ().

module.exports.create = async (event) => {
  const provider = event.requestContext.identity.cognitoAuthenticationProvider
  ....//stuff here where I split auth token to get ids...
  const cognito = new AWS.CognitoIdentityServiceProvider({
    apiVersion: "2016-04-18"
});
const getUserParams = {
  UserPoolId: userPoolId,
  Username: userPoolUserId
};
const data =JSON.parse(event.body)
const getUser = await cognito.adminGetUser(getUserParams).promise()
  const params = {
    Item:{
      userId: event.requestContext.identity.cognitoIdentityId,
      email: getUser, //!timeout issue probably here!
      content: data
    }
  };
  try {
    const { Listing } = await connectToDatabase()
    const listing = await Listing.create({userId: params.Item.userId, email: params.Item.email

При исследовании решения я сталкивался с людьми, разбивающими лямбду на две функции, так что они совместно проходят время ожидания. Я не знаю, как ссылаться на лямбду в лямбде, и я не уверен, что это правильный подход.

Ответы [ 2 ]

1 голос
/ 27 февраля 2020

Для любого, кто гуглится: оказывается, что adminGetUser нужен настроенный NAT-шлюз, чтобы он мог получать данные из Cognito. Я получаю ошибку тайм-аута, потому что он не выполняется, точка. Читайте здесь: https://aws.amazon.com/premiumsupport/knowledge-center/internet-access-lambda-function/.

0 голосов
/ 22 февраля 2020

Вы меняете тайм-аут для лямбда-функции. По умолчанию тайм-аут для лямбда-функции равен 3 se c. Вы можете переопределить его ниже под кодом функции basi c settings

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