salesforce - 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) 事件的订阅通道的名称是/data/<Standard_Object_Name>ChangeEvent
. 对于Opportunity
标准对象,CDC 通道是/data/OpportunityChangeEvent
(s
最后没有)
推荐阅读
- javascript - 循环遍历对象,从 Z 组织键 - 反向字母顺序
- ssl - 如果第一次失败,浏览器是否会重试 TLS 握手?
- python - python + 如何使用 -x 在 linux 上调试 python 脚本作为 bash
- javascript - 从对象数组派生唯一属性值数组
- .net - Visual Studio C#项目的免费依赖图
- c - 如何解决 C 中的 If 和结构问题?
- oracle - 在一列上选择 DISTINCT 并在 Oracle/TOAD 中返回多个其他列
- reactjs - 类型错误:firestore.collection 不是函数(React、Redux、Firestore)
- javascript - `$this` 的这两种用法有何不同?
- python - 如何在 python Tkinter 中删除矩形?