我尝试在python中发布查询以从Kairosdb获取数据: 计量读数是我已经创建的一个指标。在
import urllib
import urllib2
url = 'http://localhost:8080/api/v1/datapoints/query'
values = {
"start_absolute": "1430454600",
"end_relative": {
"value": "5",
"unit": "days"
},
"metrics": [
{
"tags": {
"phase": [
"769"
],
"uom": [
"72"
]
},
"name": "materreadings",
"aggregators": [
{
"name": "sum",
"sampling": {
"value": "10",
"unit": "minutes"
}
}
]
}
]
}
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req) // this line is giving errors
the_page = response.read()
print(the_page)
我在执行此脚本时得到以下结果:
^{pr2}$当我试图通过发送请求获得响应时,问题似乎出现在第37行。我可以用JAVA来执行这项工作,但是在python中我遇到了困难。我是不是错过了什么。在
我没有使用Python客户机的经验(顺便说一句,有一个pythonkairosdb库-我从未使用过它,但它存在于这里:https://github.com/pcn/pyKairosDB)。在
但我想我知道怎么了: 尝试
url = 'http://localhost:8080/api/v1/datapoints/query/'
(注意后面的斜杠) 您在查询JSON有效负载上使用urlencode,我不需要修改( urlencode用于对特殊字符进行编码,以便在使用GET方法的url中使用)。在顺便说一句,您的查询有点奇怪,它的绝对起始点非常小—我想您输入的是Unix秒而不是毫秒—以及5天前的相对结束。。。这是你的意思吗?要求提供1970年1月17日至5天前的数据?在
我可以问一下你有什么数据吗?我看到你有带编号值的标签,KairosDB格式不能很好地处理可能有太多值的标记(也许这只是数据来源的一个ID,只要你没有几千或几百万个值,你就没事了)。在
我希望能帮上忙。在
相关问题 更多 >
编程相关推荐