salesforce变更数据捕获未发送变更事件

问题描述

我正在使用Firebase函数使用指定的cometD订阅机会的更改事件。我的握手全部正常,但根本没有收到更改。我确保在设置中选择了“机会”对象。有什么建议可以检查或调试什么,为什么什么也没发生?

export const helloWorld = functions.https.onRequest(async(request,response) => {
    functions.logger.info("Hello logs!",{structuredData: true});
   
    const data = {
        "url": "https://XX.salesforce.com","accesstoken": "XXX"

    }

    await cometd_setup(data)
    functions.logger.log("cometd_setup_done")

    await cometd.handshake(function (handshake:any) {
    if (handshake.successful) {
       functions.logger.log("successful opty sending data")
       cometd.subscribe('/data/OpportunityChangeEvents',cometd_processdata)
    } else {
        logger.info('Handshake Failed',handshake);
    }
})

   response.send("Hello from Firebase!");
});

当前处理数据的方法只是在做一个控制台日志,如下所示

var cometd_processdata = function (server_data:any) {
    // Do something more useful with the data
    functions.logger.info("got new data:",server_data);
};

解决方法

标准对象上的更改数据捕获(CDC)事件的name of the subscription channel/data/<Standard_Object_Name>ChangeEvent。对于Opportunity标准对象,CDC通道为/data/OpportunityChangeEvent(最后没有s