Klausa SELECT - AWS IoT Core

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Klausa SELECT

Klausa AWS IoT SELECT pada dasarnya sama dengan klausa ANSI SQL SELECT, dengan beberapa perbedaan kecil.

Klausa SELECT mendukung Jenis dataOperator,,Fungsi,Literal,Pernyataan kasus,Ekstensi JSON, Templat substitusiKueri objek bersarang, danMuatan biner.

Anda dapat menggunakan klausa SELECT untuk mengekstrak informasi dari pesan MQTT yang masuk. Anda juga dapat menggunakan SELECT * untuk mengambil seluruh payload pesan masuk. Sebagai contoh:

Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50} SQL statement: SELECT * FROM 'topic/subtopic' Outgoing payload: {"color":"red", "temperature":50}

Jika payload adalah objek JSON, Anda dapat referensi kunci dalam objek. Payload keluar Anda berisi pasangan kunci-nilai. Sebagai contoh:

Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50} SQL statement: SELECT color FROM 'topic/subtopic' Outgoing payload: {"color":"red"}

Anda dapat menggunakan kata kunci AS untuk mengganti nama kunci. Sebagai contoh:

Incoming payload published on topic 'topic/subtopic':{"color":"red", "temperature":50} SQL:SELECT color AS my_color FROM 'topic/subtopic' Outgoing payload: {"my_color":"red"}

Anda dapat memilih beberapa item dengan memisahkannya dengan koma. Sebagai contoh:

Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50} SQL: SELECT color as my_color, temperature as fahrenheit FROM 'topic/subtopic' Outgoing payload: {"my_color":"red","fahrenheit":50}

Anda dapat memilih beberapa item termasuk '*' untuk menambahkan item ke muatan yang masuk. Sebagai contoh:

Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50} SQL: SELECT *, 15 as speed FROM 'topic/subtopic' Outgoing payload: {"color":"red", "temperature":50, "speed":15}

Anda dapat menggunakan "VALUE" kata kunci untuk menghasilkan payload keluar yang bukan objek JSON. Dengan versi SQL2015-10-08, Anda hanya dapat memilih satu item. Dengan versi SQL 2016-03-23 atau yang lebih baru, Anda juga dapat memilih array untuk output sebagai objek tingkat atas.

Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50} SQL: SELECT VALUE color FROM 'topic/subtopic' Outgoing payload: "red"

Anda dapat menggunakan '.' sintaks untuk menelusuri objek JSON bersarang di payload yang masuk. Sebagai contoh:

Incoming payload published on topic 'topic/subtopic': {"color":{"red":255,"green":0,"blue":0}, "temperature":50} SQL: SELECT color.red as red_value FROM 'topic/subtopic' Outgoing payload: {"red_value":255}

Untuk informasi tentang cara menggunakan objek JSON dan nama properti yang menyertakan karakter cadangan, seperti angka atau karakter tanda hubung (minus), lihat Ekstensi JSON

Anda dapat menggunakan fungsi (lihatFungsi) untuk mengubah payload yang masuk. Anda dapat menggunakan tanda kurung untuk pengelompokan. Sebagai contoh:

Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50} SQL: SELECT (temperature - 32) * 5 / 9 AS celsius, upper(color) as my_color FROM 'topic/subtopic' Outgoing payload: {"celsius":10,"my_color":"RED"}