Cognito Lambda(RDS同步)触发器(后确认)超时

我当时正在使用一个简单的功能来保持我的RDS用户表和Cognito同步

export async function main (event,context,callback) {

    try {
      let user,User

      User    = models.User

      console.log('before insert',new Date())  
      user = await User.create({
        name:           event.request.userAttributes.name,lastName:       event.request.userAttributes.family_name,email:          event.request.userAttributes.email,organizationId: event.request.userAttributes['custom:organizationId'],roleId:         event.request.userAttributes['custom:roleId']
      })

      console.log('after insert',new Date())
      callback(null,event)
      console.log('after callback',new Date())

    } catch (e) {
      console.error(e)
      callback(e,event)
    }
}

log

根据日志,您可以看到此函数遵守5秒钟的执行时间,那么为什么永不结束呢?以及为什么cognito尝试3次?

tianyuwei 回答:Cognito Lambda(RDS同步)触发器(后确认)超时

所以最后我发现,对于那些您希望Lambda函数在调用回调后立即返回的情况,无论事件如何发生,context.callbackWaitsForEmptyEventLoop(-默认为true)必须将其设置为false循环,因为我的数据库连接对象位于全局变量中,所以这就是这种行为的原因

本文链接:https://www.f2er.com/3134553.html

大家都在问