var roomId = request["object"]["id"]
var appId = '';
var clientId = 'abc123';
console.log("room id " + roomId);
console.log('realtime:' + AV.realtime);
var realtimeObject = AV.realtime({
   // appId 需要换成你自己的 appId
   appId: appId,
   // clientId 是自定义的名字,当前客户端可以理解的名字
   clientId: clientId
});

console.log("2");
var room;
realtimeObject.room(roomId, function(obj) {
if (obj) {
    room = obj;
    console.log('room id:', room.id);
    console.log('room name:', room.name);
    console.log('room data:', room.attr);
  } else {
    console.log('服务器不存在这个 room。');
  }
});

room.send({
    testMsg: 'abcde'
}, function() {
    console.log('server ack.');
});

代码就是这样,输出 realtime:undefined

不能直接这么用吗?要怎么用?

leancloud-realtime6 是一个独立的 SDK,在控制台中使用「云代码 - 定义函数」定义的 hook 中使用的是存储 SDK ,其中不包含 realtime 相关的接口,所有无法直接使用 AV.realtime 方法。

看你的代码,我猜测你是想在某个存储相关的 hook 的回调中以某个特定的身份(clientId)在某个对话中发送消息。你可以使用 REST API8

如果我理解的有偏差的话,还请具体描述一下你的业务需求,谢谢。