Система отслеживания измененных данных salesforce не отправляет событие изменения

Я использую функции firebase, чтобы подписаться на события изменения для возможности с использованием указанной cometD. мое рукопожатие все работает, но изменение вообще не получено. Я убедился, что в настройке выбран объект Opportunity. Любые советы о том, что еще проверить или отладить, почему ничего не происходит?

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);
};

person Moblize IT    schedule 05.10.2020    source источник


Ответы (1)


имя канала подписки для событий отслеживания измененных данных (CDC) на стандартных объектах - /data/<Standard_Object_Name>ChangeEvent. Для Opportunity стандартного объекта канал CDC - это /data/OpportunityChangeEvent (без s на конце)

person identigral    schedule 28.10.2020
comment
Это определенно была одна из проблем, и теперь я вижу, что в журналах печатаются данные об успешной отправке opty. В качестве следующего шага я обновил одну из возможностей, но я вообще не вижу вызова cometd_processdata. Что мне не хватает? - person Moblize IT; 28.10.2020
comment
@Moblize IT Рекомендуем задать новый вопрос. Первым шагом в устранении проблем CometD / Salesforce с внешним клиентом является локализация проблемы. Хороший подход для этого - реализовать слушателя / подписку в Salesforce, сначала через клиент на платформе с триггерами, а затем вне платформы с помощью клиента, одобренного Salesforce, такого как EMP Connector. Руководство по сбору данных изменений на Trailhead охватывает оба эти. У вас будет лучшее представление о том, где искать дальше после этого. - person identigral; 29.10.2020