Completed Subscribe to Platform Events











Apex測試的調試日誌是一個例外。

它們包括在同一測試執行日誌中記錄事件觸發器



有關平臺事件觸發器的注意事項

事件處理:  事件的順序基於事件重播IDApex觸發器可以一次接收一批事件事件的順序在每個批次中保留批量事件可以來自一個或多個發佈者

異步觸發器執行: 在事件發佈和觸發器處理事件之間可能會有延遲。不要期望在事件發佈後立即獲得觸發器執行的結果。
自動化過程系統用戶:因爲平臺事件觸發器不是在執行它們的用戶(正在運行的用戶)下運行,而是在自動化流程系統用戶下運行

Apex調控器限制:

Apex觸發器侷限性:您不能從觸發器同步進行Apex標註
觸發器批處理大小:平臺事件觸發器中的最大批處理大小爲2,000個事件消息,大於Salesforce對象觸發器的批處理大小200。批處理大小對應於Trigger.New列表的大小





Subscribe to a Platform Event in an Apex Trigger

trigger OrderEventTrigger on Order_Event__e (after insert) {    
    // List to hold all tasks to be created.
    List<Task> tasks = new List<Task>();
    
    // 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;

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章