如何在 Kinesis Analytics SQL 查询中解析 Json

How to Parse Json in Kinesis Analytics SQL query

如何在 Kinesis Analytics SQL 查询中解析 Json。

我有从 Kinesis Stream 接收到的流数据,在列中我有 json 想要准备 Json

的一些元素

例如。在专栏正文中,我有以下 Json

{"deviceStatus":"Active", "deviceId":"11111"}

我想从 json 中提取 deviceStatus,如下所示

CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" ( "deviceStatus" VARCHAR(24));
CREATE OR REPLACE PUMP "STREAM_PUMP" AS 
INSERT INTO "DESTINATION_SQL_STREAM" 
SELECT STREAM "body"."deviceStatus" FROM "SOURCE_SQL_STREAM_001";

我生成了一个包含 2 列的架构 - 设备状态 - 设备编号

并且我将每个 json 元素映射到每一列,如下文所述。

https://docs.aws.amazon.com/kinesisanalytics/latest/dev/sch-mapping.html#sch-mapping-json

https://docs.aws.amazon.com/kinesisanalytics/latest/dev/about-json-path.html

并在 SQL 查询中使用它们,如下所示

 CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" ( "deviceId" VARCHAR(16), "deviceStatus" VARCHAR(24));
 CREATE OR REPLACE PUMP "STREAM_PUMP" AS 
 INSERT INTO "DESTINATION_SQL_STREAM" 
 SELECT STREAM "deviceId", "deviceStatus" FROM "SOURCE_SQL_STREAM_001";