使用 nodejs 添加边到使用 gremlin 的 aws neptune 时 Lambda 超时

Lambda timeout when adding an edge using nodejs to aws neptune using gremlin

我们正在尝试在 Lambda 和 aws neptune 中使用 nodejs 运行 在两个顶点之间添加一条边。 我们可以很容易地添加一个顶点,但是当我们尝试添加一条边时,我们的 Lambda 会超时。我们的超时设置为 20 秒。

这是代码。

async function updateDoc (db, dataTmp, now, id, callback, logData, errorData) {
  try {
    console.log('inside updateDoc function')   

    console.log(dataTmp)        

    var user1 = await g.V().hasLabel('user').has('userId', dataTmp.userId).valueMap().unfold().toList()
console.log('user1', user1)
var user2 = await g.V().hasLabel('user').has('userId', dataTmp.trustedUserId).valueMap().unfold().toList()
console.log('user2', user2)
const edgeAdded =  await g.V().hasLabel('user').has('userId', dataTmp.userId).as('u').V().hasLabel('user').has('userId', dataTmp.trustedUserId).as('tu').addE('trust').from('u').to('tu').next()
console.log('edgeAdded making asynch', edgeAdded)
    // dc.close()        
    return callback(null)
  } catch (error) {
    return callback(null)
  }    

}

这是 lambda 的输出

{8 项 "type":"AddTrustedUser"

"userId":"5ed1cd97ee7ac30008b86a8c"

"trustedUserId":"5ed1cd98ee7ac30008b86a8d"

"dupId":"r54sw17ND"

"time":"2020-05-30T03:06:02.632Z"

"initTime":"2020-05-30T03:06:02.632Z"

"lastTime":"2020-05-30T03:06:02.632Z"

"logsGroupName":"AddTrustedUser" }

用户 1 [

地图{'firstName'=>['jaat']},

地图{ 'userId' => [ '5ed1cd97ee7ac30008b86a8c' ] }

]

用户 2 [

地图{'firstName'=>['maat']},

地图{ 'userId' => [ '5ed1cd98ee7ac30008b86a8d' ] }

]

报告持续时间:20020.15 毫秒计费持续时间:20000 毫秒内存大小:1024 MB 使用的最大内存:103 MB 初始化持续时间:745.55 毫秒 [+20021ms] 3 分钟前 cafbd19c-7b7a-4acb-b3fb-134bb51f054f 任务在 20.02 秒后超时 [+20021ms]

关于我们做错了什么的任何指示。

将 from() 更改为 from_() 解决了这个问题。 tinkerpop.apache.org/docs/current/reference/#from-step