kdb - 如何在 kdb 中创建 HTTP GET 和 POST 方法
问题描述
使用 kdb 数据库设置 HTTP GET 和 POST 方法的最佳方法是什么?
我希望能够从 kdb 表中提取列名,以在浏览器中创建一个带有可填写字段的简单表单,允许用户在字段中输入文本,然后将该文本插入并保存到我的表中。
例如,如果我有下表...
t:([employeeID:`$()]fName:`$(); mName:`$(); lName:`$())
到目前为止,我知道如何打开一个端口\p 9999
,然后通过连接到本地主机在浏览器中查看该表,http://localhost:9999
并且我知道如何只获取列名:cols t
.
虽然我不确定如何从这个表构建一个有用的 REST API 来实现上述目标,主要是用输入的数据更新表。我知道.Q.hg
并.Q.hp
从这篇博客文章和Kx 参考。但是信息很少,我仍然不确定如何让它为我的特定目的工作。
解决方案
根据您的前端(客户端)技术,您可以使用 HTTP 请求或WebSockets
. 使用 HTTP 请求将需要额外的工作来自定义请求的输出,因为默认情况下它返回 HTML 数据。
如果您的客户端支持像 Javascript 这样的 Websockets,那么使用它会很容易。
基本上,您需要做两件事来设置 WebSocket:
1) 启动您的 KDB 服务器并为 WebSocket 请求设置处理函数。功能是.z.ws
. 例如,简单的函数如下所示:
q) .z.ws:{neg[.z.w].Q.s @[value;x;{`$ "'",x}]}
2)在客户端设置消息处理函数,从客户端打开websocket连接并向KDB服务器发送请求。
推荐阅读
- spring - 在 Feign 客户端中设置 cookie
- go - go env 显示 GOPATH 不匹配
- javascript - 如何在 react.js 中传递数据/值名称
- deep-learning - 是否应该保持小批量中输入数据的序列性质?
- powershell - 使用 Powershell 解析 .msg 文件以获取收件人、发件人、主题和日期
- react-native - 无法从 Tab.Navigator 中删除 Tab.Screen
- python - 如何将数组的每个元素分配给python中的不同变量
- python - 不是 JSON 可序列化的 Django 会话
- ncache - NCache - 无法启动我的缓存。ErrorL 指定缓存未注册
- python-3.x - 如何在 Python Docker 环境中安装 GDAL?