如何在 kdb 中创建 HTTP GET 和 POST 方法
How to create HTTP GET and POST methods in kdb
使用 kdb 数据库设置 HTTP GET 和 POST 方法的最佳方法是什么?
我希望能够从 kdb 中提取列名称 table 以在浏览器中创建一个带有可填写字段的简单表单,允许用户在字段中输入文本,然后更新插入和将该文本保存到我的 table.
例如,如果我有以下 table...
t:([employeeID:`$()]fName:`$(); mName:`$(); lName:`$())
到目前为止,我知道如何打开端口 \p 9999
,然后通过连接到本地主机 http://localhost:9999
在浏览器中查看 table,并且我知道如何只获取列姓名:cols t
.
虽然我不确定如何从这个 table 构建一个有用的 REST API 来实现上述 objective,主要是用输入的数据更新 table .我从这个 blog post and the Kx reference 知道 .Q.hg
和 .Q.hp
。但是信息很少,我仍然不确定如何让它为我的特定目的工作。
根据您的 front-end(客户端)技术,您可以使用 HTTP 请求或 WebSockets
。使用 HTTP 请求将需要额外的工作来自定义请求的输出,因为默认情况下它 returns HTML data.
如果你的客户端支持像Javascript这样的Websockets,那么使用它会很容易。
基本上,您需要做两件事来设置 WebSockets:
1) 启动您的 KDB 服务器并为 WebSocket 请求设置处理函数。函数是 .z.ws
。例如简单的函数如下所示:
q) .z.ws:{neg[.z.w].Q.s @[value;x;{`$ "'",x}]}
2) 在客户端设置消息处理函数,从客户端打开websocket连接并向KDB服务器发送请求。
使用 kdb 数据库设置 HTTP GET 和 POST 方法的最佳方法是什么?
我希望能够从 kdb 中提取列名称 table 以在浏览器中创建一个带有可填写字段的简单表单,允许用户在字段中输入文本,然后更新插入和将该文本保存到我的 table.
例如,如果我有以下 table...
t:([employeeID:`$()]fName:`$(); mName:`$(); lName:`$())
到目前为止,我知道如何打开端口 \p 9999
,然后通过连接到本地主机 http://localhost:9999
在浏览器中查看 table,并且我知道如何只获取列姓名:cols t
.
虽然我不确定如何从这个 table 构建一个有用的 REST API 来实现上述 objective,主要是用输入的数据更新 table .我从这个 blog post and the Kx reference 知道 .Q.hg
和 .Q.hp
。但是信息很少,我仍然不确定如何让它为我的特定目的工作。
根据您的 front-end(客户端)技术,您可以使用 HTTP 请求或 WebSockets
。使用 HTTP 请求将需要额外的工作来自定义请求的输出,因为默认情况下它 returns HTML data.
如果你的客户端支持像Javascript这样的Websockets,那么使用它会很容易。
基本上,您需要做两件事来设置 WebSockets:
1) 启动您的 KDB 服务器并为 WebSocket 请求设置处理函数。函数是 .z.ws
。例如简单的函数如下所示:
q) .z.ws:{neg[.z.w].Q.s @[value;x;{`$ "'",x}]}
2) 在客户端设置消息处理函数,从客户端打开websocket连接并向KDB服务器发送请求。