建構 ThingWorx 解決方案的最佳作法一覽
建構 IoT 解決方案時,請考量下列最佳作法:
在專案中包括實體。針對一個解決方案僅使用一個專案。
用模型標籤標記實體。
將所有延伸功能實體設定為不可編輯。
為所有使用者介面標籤建立當地語系化權杖。
使用 JavaScript 實行服務。
使用「物形式」定義服務與內容。
針對實體名稱、內容及服務使用具唯一性的命名空間前置碼。
定義實體的組織與使用者群組,以設定可見度及權限。
將大型解決方案分成較小的延伸功能。
請勿使用固定資產「物件」來在混搭中執行服務。應動態選取或查詢資產「物件」,然後應執行其服務。
* 
若要避免發生問題,請使用協助程式或管理員「物件」服務。這些服務會將資產「物件」的名稱視為會在混搭中進一步使用的輸入參數。
物件訂閱中將「按順序執行事件」核取方塊保持清除狀態,因為它需要更多的 CPU 資源。請僅在您需要逐一執行訂閱的執行時,才使用「按順序執行事件」訂閱功能。如有必要,請使用 JSONState 物件保存已排序訂閱的執行之間的資料。
如果針對相同時間戳記更新多個內容,請使用 UpdatePropertyValuesBatchedUpdateSubscribedPropertyValuesBatched 這兩個新服務。
檢閱已排序的訂閱指令集,以確保不會在狀態中保留過多資料。如果將限制設定得太低,請使用 platform-settings.json 組態詳細資訊 SubscriptionSettings 部份中的 SubscriptionsStatesMaxDirectMemorySize 設定予以增加。訂閱效能中所述的指標可讓您追蹤訂閱狀態儲存空間的目前大小。
* 
當達到訂閱狀態儲存空間大小限制時,系統會在儲存新狀態時清除舊狀態。ApplicationLog 中會顯示錯誤訊息,例如:
Memory size limit exceeded, dropped state for key [RemoteRouter-1:Thing1:Template1:ThingTemplate:Subscription1]
這是否有幫助?