WHERE 子句 - AWS IoT Core

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

WHERE 子句

WHERE 子句會判斷是否執行某規則指定的動作。如果 WHERE 子句判斷值為 true,則規則動作已執行。否則,規則動作就不會執行。

WHERE 子句支援 資料類型運算子函數文字案例陳述式JSON Extensions替代範本巢狀物件查詢

範例:

發佈在 topic/subtopic 的傳入承載:{"color":"red", "temperature":40}

SQL:SELECT color AS my_color FROM 'topic/subtopic' WHERE temperature > 50 AND color <> 'red'

在此情況下,該規則會觸發,但不會執行由規則指定的動作。將不會出現傳出承載。

您可以在 WHERE 子句中使用函數和運算子。不過您無法參考任何在 SELECT 中以 AS 關鍵字建立的別名。(系統會優先評估 WHERE 子句,以判定 SELECT 是否受到評估。)

非 JSON 承載的範例:

在「主題/副主題」上發佈的傳入非 JSON 承載:`80`

SQL:`SELECT decode(encode(*, 'base64'), 'base64') AS value FROM 'topic/subtopic' WHERE decode(encode(*, 'base64'), 'base64') > 50

在此情況下,該規則會觸發,並且執行由規則指定的動作。傳出承載將由 SELECT 子句轉換為 JSON 承載 {"value":80}