Apex測試的調試日誌是一個例外。
它們包括在同一測試執行日誌中記錄事件觸發器
有關平臺事件觸發器的注意事項
事件處理: 事件的順序基於事件重播ID。Apex觸發器可以一次接收一批事件。事件的順序在每個批次中保留。批量事件可以來自一個或多個發佈者
異步觸發器執行: 在事件發佈和觸發器處理事件之間可能會有延遲。不要期望在事件發佈後立即獲得觸發器執行的結果。
自動化過程系統用戶:因爲平臺事件觸發器不是在執行它們的用戶(正在運行的用戶)下運行,而是在自動化流程系統用戶下運行
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;
}