python - 在 QuestDB 中插入数据时如何通过 Python 捕获错误消息?
问题描述
目前我正在通过 Python 通过 Influx Line Protocol (ILP) 将数据保存到 QuestDB,如下所示:
import socket
ilp_msg = 'my_table,name=server_timestamp value=12.4\n'
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
sock.connect((HOST, PORT))
sock.send((ilp_msg).encode())
except socket.error as e:
raise ValueError(f'Got error: {e}')
sock.close()
如果我ilp_msg
的或服务器或数据库出现问题,上述代码将执行而不会引发任何错误。它将登录到数据库上的 sdr out(或 std err)。
我的问题:如何通过 python 将数据保存到 QuestDB 并捕获任何错误消息,以便我知道我的保存方法对特定行失败。
解决方案
我看到的唯一方法不是使用 ILP,而是通过 Postgres Driver psycopg2 插入行。
ILP 似乎是一种以“一劳永逸”的方式将数据流式传输到服务器的协议。
推荐阅读
- javascript - 导轨 5.2。从辅助方法渲染 js.erb 部分
- sparql - 过滤掉包含特定类型项目的语句
- c++ - 为什么在使用正确签名覆盖函数时 MSVC 会产生 C3668 错误?
- c# - C#实现接口的泛型方法
- serialization - Kentico 11 持续集成无法序列化报告对象
- mongoose - 如何将 ObjectId 转换为其整数值?
- amazon-web-services - 请求技能对 Alexa LaunchRequest 的响应存在问题
- concatenation - Concat 添加双引号
- c++ - Pre C++20 位域零初始化
- maven - 在 JVM 中的 Maven 中并行构建