物件訂閱
訂閱是用於接收 事件並對其進行回應的服務。訂閱包含來源,通常為 物件。物件可以訂閱透過某一動作進行回應的事件。例如,如果實體觸發馬達過熱 事件,則可透過觸發關閉馬達 訂閱來訂閱該事件。物件可以繼承來自它們所使用之 「物範本」「物形式」的訂閱。
訂閱類似於標準服務,但明確連結至某事件。如此可將事件從回應事件的程式碼分離。如同服務,您可以實行自訂企業邏輯,以對事件做出回應。可以透過電子郵件伺服器「物件」傳送電子郵件、寫入到資料庫,或呼叫平台中的任何可用服務來利用模型功能。訂閱沒有像服務一樣的明確傳回輸出。但是,訂閱可以呼叫執行緒安全性前後關聯有權存取之模型中的其他任何服務。訂閱的執行緒安全性前後關聯會設定為所觸發之事件的相同執行緒安全性前後關聯。可以與實行服務使用相同的 JavaScript 編輯環境。
訂閱擁有已定義的輸入,這是事件所發佈的資料封裝,稱為事件資料。如果實體訂閱了已定義事件,則事件資料會傳遞給訂閱函數。事件資料由事件 資料形式進行描述。在訂閱實行中,從事件傳遞的資料將作為指令集函數的輸入。例如,如果實體訂閱了物件內容資料變更事件,則會呼叫訂閱指令集函數。因此,物件內容值以及來自事件的其他相關資料會作為事件資料的一部份傳遞給函數。
許多實體都可以訂閱相同事件。每個實體都會使用傳遞的事件資料接收對訂閱的呼叫。實體可以採取訂閱指令集中的任何動作,以達到解決方案需求。
相較於使用從其他服務呼叫的服務,使用此技巧的一些優點包括:
事件可由一或多個訂閱進行訂閱。
事件會根據系統活動來呼叫,而且不需要使用者互動。
如果有多個物件訂閱事件,您可使用訂閱,而非鏈結多個服務。
* 
ThingWorx 8.4.0 及更新版本支援對於相同物件上定義的相同事件的多次訂閱或重複訂閱。
多個訂閱
從 8.4.0 開始,訂閱會有使用者定義的名稱作為唯一識別元。實體可以對物件上的事件進行多次訂閱。例如,如果某個實體觸發馬達過熱 事件,則可使用關閉馬達 訂閱與建立工單 訂閱來訂閱該事件,以對引擎進行維修檢查。也可以針對該事件建立任何數目的其他訂閱。
如果「物範本」或「物形式」實行對事件的訂閱,則使用該物範本或物形式的物件也可以建立對於相同事件的訂閱,而不需要因應措施來在觸發這些事件時採取其他動作。