JAVA客户端使用账号密码调用influxdb2报错:{“code“:“unauthorized“,“message“:“Unauthorized“}

问题:JAVA客户端访问influxdb2报错

说明:当前influxdb版本:2.6.1

使用依赖:

        org.influxdb
        influxdb-java
        2.10
   

对应代码,使用 账号密码 访问:

public static void main(String[] args) {
    InfluxDB influxDB;
    String url = "http://192.168.xxx.xxx:8086/";
    //账号密码为登录UI界面的账号密码
    influxDB = InfluxDBFactory.connect(url, "root", "xxx");
    String command = "select * from demo";
    String database = "b01";
    QueryResult result = influxDB.query(new Query(command, database, true));
    System.out.println(result);
}

执行发现报错:InfluxDBException:{“code”:“unauthorized”,“message”:“Unauthorized”}

根本原因:JAVA客户端需要对Bucket(数据库)进行读写权限授权。

//客户端创建配置,token由UI界面上APIToken创建即可,权限都给。
./influx config create --config-name config004 --host-url "http://192.168.xx.xx:8086" --token "4bmVWxaB0z-J8CND-q3jOVynOkIAZgMAfGpx_7qikUpbfS6-AgffZcOXBYNS6aYu-LHoD019I6y_QZTa_a3NOw==" --active
//进行授权(用户-数据库权限),参数自行替换,在UI界面中查询即可
./influx v1 auth create --org-id {orgId}   --read-bucket {bucketId} --write-bucket  {bucketId} --username root

再次调用就通了。

未结问题

1、使用APIToken生成了所有权限的Token,加入到客户端中,可以查询到用户列表,但是创建用户时,却报错,也是说401没权限。

Token权限:

在这里插入图片描述

创建用户时报错:

在这里插入图片描述

查询官网说是Token不是操作权限Token,然后查了下操作权限Token怎么创建,说要有操作权限的token才能创建,那么问题来了,第一个操作权限token怎么来?还有UI界面生成的token明明说了有所有权限,为什么没操作权限?

欢迎小伙伴来解答这些问题。反正我已经放弃了。

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/a3a8460321.html