對應器
「對應器」動作可透過組合各種動作的輸出,然後根據您的需求重新建構輸出的物件、集合、陣列或字串,來建立自訂輸出。您也可以對輸出執行各種函數。如此一來,您不必撰寫複雜的 Node.js 程式碼,即可從多個動作擷取及組合特定欄位值或輸出。「對應器」提供一些模組化函數,可協助您達成下列目標:
• 組合輸出
• 版序化物件、陣列、字串與集合
• 操作及測試值
使用對應器動作
欲在工作流程中使用此動作,請將其連線至 ThingWorx Flow。欲連線至流程,請執行下列操作:
1. 按一下
![](../../../../ThingWorx/images/UtlityIcon.png)
,將
「開發者工具」公用程式下的
「對應器」動作拖曳至畫布,將指標置於動作上,然後按一下
![](../../../../ThingWorx/images/SettingsIcon_2.png)
或連按兩下該動作。「對應器」動作視窗即會開啟。
2. 視需要編輯「標籤」名稱。依預設,標籤名稱與動作名稱相同。
3. 按一下
![](../../../../ThingWorx/images/AddAuthorization.png)
以建立新的金鑰值對。
a. 重新命名金鑰欄位並輸入值。您可以將之前動作的輸出對應為值欄位的輸入。
b. 按一下 </> 以在指定輸入中新增函數。
按一下
![](../../../../ThingWorx/images/AddAuthorization.png)
可新增多個金鑰值對。
4. 按一下「完成」。
對應器資料類型
對應器可接受「陣列」、「集合」、「物件」及「字串」資料類型的輸入值。
• 陣列 - 當指定金鑰傳回陣列時使用。欲將陣列設定為資料類型,請按一下
![](../../../../ThingWorx/images/SettingsIcon_2.png)
並從清單中選取「陣列」。您可以按一下 </> 對陣列套用函數。
• 集合 - 當指定金鑰傳回物件陣列時,會使用此資料類型。上一個動作的集合可直接對應至值欄位作為集合金鑰,或者可單獨在集合金鑰下新增金鑰-值對。
欲將集合設定為資料類型,請按一下
![](../../../../ThingWorx/images/SettingsIcon_2.png)
並從清單中選取「集合」。您可以按一下 </> 對集合套用函數。
• 物件 - 當指定金鑰傳回物件時使用。上一個動作的物件可直接對應至值欄位作為物件金鑰,或者可單獨在物件金鑰下新增金鑰-值對。
欲將物件設定為資料類型,請按一下
![](../../../../ThingWorx/images/SettingsIcon_2.png)
並從清單中選取「物件」。您需要在此指定物件名稱,然後按一下「金鑰」欄位旁提供的 '+' 連結新增金鑰-值對。之後,您便可針對這其中的每個內容選取任何資料類型。
您用來套用函數的控制台 (</>) 連結位於「物件名稱」欄位旁及該物件的每個「內容名稱」欄位旁。
• 字串 - 當指定金鑰傳回字串值時使用。依預設,所有金鑰-值對都屬於「字串」資料類型。您可以按一下 </> 對字串套用函數。
在對應器中使用內建函數
對應器可讓您針對之前動作的輸出執行各種函數。此動作提供一些預先建構的函數 (取自 'lodash' 程式庫) 供您使用。或者,您也可以撰寫您自己的自訂函數。
• 陣列函數:
◦ _.difference - 傳回值對指定陣列數中的第一個陣列具唯一性的陣列。
讀取更多 ◦ _.intersection - 傳回值在所有指定陣列中通用的陣列。
讀取更多 • 物件函數
• 字串函數
◦ _.camelCase - 將字串大小寫變更為 camelCase。
讀取更多 ◦ _.capitalize - 將字串的第一個字元變更為大寫,將其餘字元變更為小寫。
讀取更多 ◦ _.kebabcase - 將字串大小寫變更為 kebabCase。
讀取更多 ◦ _.escape - 將字串中的字元 &、<、>、'、與 " 轉換為其對應 HTML 實體。
讀取更多 ◦ _.unescape - 將特定字串中的 HTML 實體 &、<、>、"、' 與 ` 轉換為其對應字元。
讀取更多 • 數字函數
• 集合函數
範例:在對應器中使用內建函數
您要將陣列指定清單中的特有值擷取到單一陣列。欲執行此操作,請先使用「陣列操作」動作串連兩個陣列 (包含一些常用值)。然後使用「對應器」中的輸出,並執行 _.uniq 函數來篩選出重複的值。
1. 將「陣列操作」、「對應器」與「傳送電子郵件」動作新增至畫布,並如下所示進行連線:
2. 依照下列方式配置「陣列操作」動作:
◦ 「選取陣列操作」- 從清單中選取「串連」。
◦ 「來源陣列 1」- 輸入您要串連的第一個陣列。
◦ 「來源陣列 2」- 輸入您要串連的第二個陣列。
按一下「新增」可新增多個陣列。
我們已在兩個陣列中有意使用 'R2-D2' 和 'Han'。如此會建立一個包含重複值的陣列。按一下「完成」。這樣您就會回到畫布。
3. 依照下列方式配置「對應器」動作:
◦ Key1 - 輸入金鑰名稱。
◦ 按一下
![](../../../../ThingWorx/images/SettingsIcon_2.png)
選取「陣列資料類型」,然後按一下
![](../../../../ThingWorx/images/ConsoleIcon.jpg)
新增函數。
◦ 按一下
![](../../../../ThingWorx/images/ExpandCollapse.PNG)
,然後按一下
![](../../../../ThingWorx/images/WCMapicon.png)
,將「陣列操作」動作的輸出新增為控制台視窗中的輸入。
◦ 按一下「函數」,然後選取 _.uniq 函數,以從陣列中移除重複值。
◦ 按一下「儲存」。「自訂函數」標籤即已在「值」欄位中新增為輸入。
4. 依照下列方式配置「傳送電子郵件」動作:
◦ 「收件者」- 輸入收件者的電子郵件 ID。
◦ 「主旨」- 輸入電子郵件主旨。
◦ 「本文類型」- 選取電子郵件的「文字」本文類型。
◦ 「本文」- 新增組態視窗右側所提供「對應器」動作的輸出作為此欄位的輸入。
5. 按一下「完成」,並「執行」工作流程。如此即會將指定陣列清單中的特有值擷取到單一陣列,並會將其傳送給指定收件者。
在對應器中新增自訂函數
「對應器」動作也可讓您編寫自訂函數以對特定輸入值執行操作。如需瞭解自訂函數,請參閱下列範例:
範例
繼續稍早的範例。假設您想要在稍早時實行的 _.uniq 函數輸出上套用自訂函數。
1. 在現有的程式碼中進行下列變更,如下圖所示:
2. 在控制台中新增自訂函數之後。按一下「儲存」,然後「執行」工作流程。
輸出結構描述
「對應器」動作會根據您輸入的金鑰值對傳回輸出結構描述。請參閱下圖的範例輸出結構描述: