首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InfluxDBClientError:未找到保留策略: autogen

InfluxDBClientError:未找到保留策略: autogen
EN

Stack Overflow用户
提问于 2018-07-03 10:59:25
回答 2查看 7.2K关注 0票数 0

我正在阅读https://www.influxdata.com/blog/getting-started-python-influxdb/文档,用python查询进水数据库。

我能够创建数据库:

代码语言:javascript
复制
client = InfluxDBClient(host='localhost', port=8086)
client.create_database('pyexample')
client.get_list_database() 
client.switch_database('pyexample')

此外,我还在数据库中发送数据:

代码语言:javascript
复制
json_body = [
{
    "measurement": "brushEvents",
    "tags": {
        "user": "Carol",
        "brushId": "6c89f539-71c6-490d-a28d-6c5d84c0ee2f"
    },
    "time": "2018-03-28T8:01:00Z",
    "fields": {
        "duration": 127
    }
},
{
    "measurement": "brushEvents",
    "tags": {
        "user": "Carol",
        "brushId": "6c89f539-71c6-490d-a28d-6c5d84c0ee2f"
    },
    "time": "2018-03-29T8:04:00Z",
    "fields": {
        "duration": 132
    }
},
{
    "measurement": "brushEvents",
    "tags": {
        "user": "Carol",
        "brushId": "6c89f539-71c6-490d-a28d-6c5d84c0ee2f"
    },
    "time": "2018-03-30T8:02:00Z",
    "fields": {
        "duration": 129
    }
}
]

调用json主体如下:

代码语言:javascript
复制
client.write_points(json_body)
True 

但是现在,我想用以下方法查询数据库中的指标:

代码语言:javascript
复制
client.query('SELECT "duration" FROM "pyexample"."autogen"."brushEvents" WHERE time > now() - 4d GROUP BY "user"')

此查询将导致错误:

Client.query模块中的文件ipython 31-6e47204db16b,第1行(从“py示例”.“autogen”.“brushEvents”中选择“持续时间”,其中time > now() - 4d按“用户”分组) 文件"/home/rahul/anaconda2/lib/python2.7/site-packages/influxdb/client.py",第420行,在data.get中查询(“结果”,[]) 文件"/home/rahul/anaconda2/lib/python2.7/site-packages/influxdb/resultset.py",第25行,在init InfluxDBClientError(self.error)中

代码语言:javascript
复制
InfluxDBClientError: retention policy not found: autogen

如何获得查询结果?

我检查了保留策略,其中还发现了错误:

代码语言:javascript
复制
client.query('SHOW RETENTION POLICIES')

回溯(最近一次调用):

文件"",第1行,在client.query中(“显示保留策略”) 文件"/home/rahul/anaconda2/lib/python2.7/site-packages/influxdb/client.py",第409行,在查询expected_response_code=expected_response_code中 文件"/home/rahul/anaconda2/lib/python2.7/site-packages/influxdb/client.py",第286行,按请求提出InfluxDBClientError(response.content,response.status_code) InfluxDBClientError: 400:{“错误”:“错误解析查询:找到EOF,预期在第1行,char 25"}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-03 13:51:45

autogen更改为default

代码语言:javascript
复制
client.query('SELECT "duration" FROM "pyexample"."default"."brushEvents" WHERE time > now() - 4d GROUP BY "user"')
票数 1
EN

Stack Overflow用户

发布于 2022-05-02 23:26:06

这取决于您收到的错误消息。在我的例子中,我得到了错误“保持策略未找到:永远”,这意味着-一个名为“永远”的保留策略是找不到的。

我用以下方法修正了它:

  • 进入InfluxDB码头集装箱
  • 发射influx
  • 选择数据库的use collectd
  • 创建一个名为“永远”的新保留策略:create retention policy "forever" on "collectd" duration 2d replication 1

官方文件可以找到:管理留用政策

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51152910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档