資料表服務
若要把資料匯入及匯出特定資料表形式的資料表,有多種內建服務可以使用。如下所列:
服務
描述
AddDataTableEntry (TAGS tags, VALUES values)
傳入 VALUES 和可選 tags。布林值傳回內容會指出成功或失敗。
AddDataTableEntries
新增多個資料表項目。
AddOrUpdateDataTableEntry (TAGS tags, VALUES values)
傳入 VALUES 和可選 tags。傳回資料表中新增或已更新項目的 streamID STRING 值。若列存在,即更新此列,否則系統會新增一列。
AddOrUpdateDataTableEntries
新增或更新多個資料表項目。若列存在,即更新此列,否則系統會新增一列。主索引鍵必須相符,才能更新。
AssignDataTableEntries
取代現有的資料表項目。
DeleteDataTableEntry (STRING keyvalue)
刪除以金鑰值為基礎的單一項目。布林值傳回內容會指出成功或失敗。
* 
需要主索引鍵才能刪除項目。
DeleteDataTableEntries
刪除符合資料負載輸入參數中所提供第一列值的多個項目。例如,如果資料表有一個欄位名為 Int01,有三個項目的 Int01 設定為 10。那麼當執行時,如果指定 10 作為刪除條件,DeleteDataTableEntries 就會刪除全部三個項目。
* 
如果資料負載輸入參數中提供了多列值,會顯示錯誤,說明 "Invalid Number of values provided to DeleteDataTableEntries in thingName"
FindDataTableEntries
只搜尋索引,因此使用時速度可能比 QueryDataTableEntries 服務更快。
* 
如果在資料表的組態中定義多個索引,系統會根據您在「值」參數 (由您傳送至 FindDataTableEntries) 中註明作為欄位搜尋依據的內容,將用來作為搜尋依據的索引進行加權處理。例如,若您有四個內容 (INTEGER、BOOLEAN、STRING 和 TEXT),且您已建立了兩個索引 (一個在 BOOLEAN 和 STRING 上,一個在 TEXT 上),那麼如果您只針對 TEXT 內容指定一個值作為搜尋依據,則該索引的權重比 BOOLEAN/STRING 更高,因為您已在該索引中提供用於搜尋的值。
* 
FindDataTableEntries 僅接受一個資料負載輸入參數。若未提供輸入或提供了多個輸入參數,則不會傳回任何結果。
GetDataTableEntries (NUMBER maxItems)
傳回的最新項目數最多可以達到請求的最大項目數。
GetDataTableEntry (STRING keyvalue)
傳回一列內含相符項目的資料負載。
GetFieldNames
傳回與此資料表相關聯的欄位名稱清單。
PurgeDataTableEntries
移除此資料表的所有項目。布林值傳回內容會指出成功或失敗。
QueryDataTableEntries (NUMBER maxItems, STRING queryExpression, TAGS tags, VALUES query)
對於與要求參數相符的記錄,傳回其資料負載。
* 
QueryDataTableEntries 僅接受一個資料負載輸入參數。
若未提供輸入參數,QueryDataTableEntries 會傳回資料表的所有列。
如果提供多個輸入參數,則會傳回只符合第一個輸入的列,並將捨棄其他輸入。在此情況下,請使用服務的查詢輸入參數。
SearchDataTableEntries
傳回與搜尋查詢參數相符的所有資料表項目。searchExpression 是此服務的索引鍵,其中僅包括 STRING 和 TEXT 欄位適用的全文搜尋。下列欄位可用於 searchExpression+ (加號)、區分大小寫、? (問號)、 % (百分比符號)、ANDOR
UpdateDataTableEntry (TAGS tags, VALUES values)
傳入 values 和可選 tags。布林值傳回內容會指出成功或失敗。如果列存在,則會更新該列。
定義在資料表搜尋中區分大小寫
您可以在 query 參數中使用篩選器,來定義在資料表搜尋中區分大小寫。
例如,將 SearchDataTableEntries 服務與下列項目搭配使用:
您可以為 query 參數定義篩選器,以傳回區分大小寫的結果。例如:
{"filters":{"type":"EQ", "fieldName":"Field1","isCaseSensitive":true, "value":"AA"}}
使用上述查詢會傳回下列結果:
在使用相同服務的另一個範例中,在 query 參數中使用下列篩選器:
{"filters":{"type":"EQ", "fieldName":"Field1","isCaseSensitive":true, "value":"aa"}}
會傳回下列結果:
這是否有幫助?