ksqldb REST API -如何接收墓碑值从表与推送查询?



如何使用ksqldb REST API接收墓碑值

?表的例子:

CREATE TABLE movies (
title VARCHAR PRIMARY KEY,
id INT,
release_year INT
) WITH (
KAFKA_TOPIC='movies',
PARTITIONS=1,
VALUE_FORMAT = 'JSON'
);
INSERT INTO MOVIES (ID, TITLE, RELEASE_YEAR) VALUES (48, 'Aliens', 1986);

罗宾。M.发布了一个如何将墓碑值插入表的解决方案。

以下通过REST API的ksql查询不接收那些"删除";价值观:

POST /query HTTP/1.1
Accept: application/vnd.ksql.v1+json
Content-Type: application/vnd.ksql.v1+json
{"ksql":"SELECT * FROM Movies EMIT CHANGES;","streamsProperties":{"ksql.streams.auto.offset.reset":"earliest"}}

行插入收到的示例:

[{"header":{"queryId":"none","schema":"`TITLE` STRING, `ID` INTEGER, `RELEASE_YEAR` INTEGER"}},
{"row":{"columns":["Die Hard",2,1998]}},

插入墓碑值后的预期响应是布尔行。墓碑属性:

{"row":{"columns":["Die Hard",null,null],"tombstone":true}}

该值不发送给客户端。这是一个bug还是我做错了什么?如果有可能接收这些值,我可以用/查询流API做同样的事情吗?

我在GitHub上发现了这个问题,所以我尝试了最近发布的0.15.0版本,它可以工作。所以这似乎是v0.14.0的一个bug。

最新更新