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


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

    说明:当前influxdb版本:2.6.1
    使用依赖:

    
            org.influxdb
            influxdb-java
            2.10
       
    
    • 1
    • 2
    • 3
    • 4
    • 5

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

    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);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    执行发现报错: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
    • 2
    • 3
    • 4

    再次调用就通了。

    未结问题

    1、使用APIToken生成了所有权限的Token,加入到客户端中,可以查询到用户列表,但是创建用户时,却报错,也是说401没权限。
    Token权限:
    在这里插入图片描述
    创建用户时报错:
    在这里插入图片描述
    查询官网说是Token不是操作权限Token,然后查了下操作权限Token怎么创建,说要有操作权限的token才能创建,那么问题来了,第一个操作权限token怎么来还有UI界面生成的token明明说了有所有权限,为什么没操作权限

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

  • 相关阅读:
    架构-三层架构:三层架构
    Linux将程序放到后台运行
    spark3.3.1 for CDH6.3.2 打包
    马斯克打了个响指,推特50%员工被裁....
    Vue2技能树(3)-声明式渲染、指令大全、生命周期函数
    代理IP与Socks5代理:跨界电商之安全防护与智能数据引擎
    jdk动态代理实现通用日志记录—KQC 0921
    K8S:K8S自动化运维容器Docker集群
    【北京迅为】RK3568开发板android11系统固件讲解
    bean属性注入的方式及AOP的概述
  • 原文地址:https://blog.csdn.net/qinqigang/article/details/134248424