Completed Subscribe to Platform Events

Completed Subscribe to Platform Events_第1张图片



Completed Subscribe to Platform Events_第2张图片



Completed Subscribe to Platform Events_第3张图片







Apex测试的调试日志是一个例外。

它们包括在同一测试执行日志中记录事件触发器



有关平台事件触发器的注意事项

事件处理:  事件的顺序基于事件重播IDApex触发器可以一次接收一批事件事件的顺序在每个批次中保留批量事件可以来自一个或多个发布者

异步触发器执行: 在事件发布和触发器处理事件之间可能会有延迟。不要期望在事件发布后立即获得触发器执行的结果。
自动化过程系统用户:因为平台事件触发器不是在执行它们的用户(正在运行的用户)下运行,而是在自动化流程系统用户下运行

Apex调控器限制:

Apex触发器局限性:您不能从触发器同步进行Apex标注
触发器批处理大小:平台事件触发器中的最大批处理大小为2,000个事件消息,大于Salesforce对象触发器的批处理大小200。批处理大小对应于Trigger.New列表的大小



Completed Subscribe to Platform Events_第4张图片



Subscribe to a Platform Event in an Apex Trigger

Completed Subscribe to Platform Events_第5张图片

trigger OrderEventTrigger on Order_Event__e (after insert) {    
    // List to hold all tasks to be created.
    List tasks = new List();
    
    // Get queue Id for task owner
    //Group queue = [SELECT Id FROM Group WHERE Name='Regional Dispatch' LIMIT 1];
     String usr = UserInfo.getUserId();  
    // Iterate through each notification.
    for (Order_Event__e event : Trigger.New) {
        if (event.Has_Shipped__c == true) {
            // Create Task to dispatch new team.
            Task ts = new Task();
            ts.Priority = 'Medium';
            ts.Status = 'New';
            ts.Subject = 'Follow up on shipped order ' + event.Order_Number__c;
            ts.OwnerId = usr;//queue.Id;
            tasks.add(ts);
        }
   }
    
    // Insert all tasks corresponding to events received.
    insert tasks;

}

Completed Subscribe to Platform Events_第6张图片

你可能感兴趣的:(salesforce开发入门)