Amazon web services cognito lambda(RDS同步)触发(后确认)超时
我正在使用一个简单的函数来同步我的RDS用户表和CognitoAmazon web services cognito lambda(RDS同步)触发(后确认)超时,amazon-web-services,timeout,amazon-cognito,amazon-cognito-triggers,Amazon Web Services,Timeout,Amazon Cognito,Amazon Cognito Triggers,我正在使用一个简单的函数来同步我的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:
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)
}
}
根据日志,您可以看到此函数的执行时间为5秒,那么为什么从未结束?为什么cognito要尝试3次呢?因此,最后我发现(--default true)必须设置为false,用于那些希望Lambda函数在调用回调后立即返回的情况,而不管事件循环中发生了什么,因为我在全局变量中有db connection对象,这就是这种行为的原因