当前位置: 首页 > news >正文

python使用influxdb-client管理InfluxDB的bucket

bucket的概念类似数据库的“库”,同时每个库中的数据都因为存在“时间戳”,每个数据都会有一个对应的时间点

influxdb-client-python官方github页面:https://github.com/influxdata/influxdb-client-python

管理bucket的官方示例:https://github.com/influxdata/influxdb-client-python/blob/master/examples/buckets_management.py

文章目录

  • 基本用法
    • 创建bucket
    • 查询bucket
    • 修改bucket
    • 删除bucket
  • 完整示例

基本用法

首先使用influxdb-client管理InfluxDB数据库都需要使用:

from influxdb_client import InfluxDBClientinfluxdb_token = "SkeHprHCgmvtX3LXluMUlgyl5nzwM4zdMtsCuT7BQXsaJlhFPMJizKj0nX3ugr9vRfY7Ak4rIhu-wx-aIqNFig==" # TODO 改为自己的token
influxdb_org = "manager" # TODO 填写自己的组织名称
client = InfluxDBClient(url="http://localhost:8086", token=influxdb_token, org=influxdb_org) # 创建客户端buckets_api = client.buckets_api() # 创建链接bucket的客户端

创建bucket

一行代码即可创建成功:

created_bucket = buckets_api.create_bucket(bucket_name="new_create_bucket", org=influxdb_org)

如果需要设置数据的保留时间

from influxdb_client import BucketRetentionRulesretention_rules = BucketRetentionRules(type="expire", every_seconds=36000)  # 保留近10天数据的bucket
created_bucket = buckets_api.create_bucket(bucket_name="new_create_bucket",retention_rules=retention_rules,org=influxdb_org)

查询bucket

查询全部的bucket使用:

all_buckets = buckets_api.find_buckets(org=influxdb_org).buckets  # 创建永远不会删除数据的 bucket
for _record_bucket in all_buckets:bucket_info = {"id": _record_bucket.id,"name": _record_bucket.name,"retention": _record_bucket.retention_rules,}print(bucket_info)

多数情况下,我们会已知一个bucket的名称,然后获得这个bucket的对象,使用如下代码实现:

my_bucket = buckets_api.find_bucket_by_name("new_create_bucket")

修改bucket

在查询的时候每一个属性都可以使用如下代码修改:

my_bucket.description = "修改后的describe"  # 先修改
my_bucket = buckets_api.update_bucket(bucket=my_bucket)  # 再保存
print(my_bucket.description)

得到的结果是:

修改后的describe

删除bucket

一行代码即可删除:

buckets_api.delete_bucket(my_bucket)

完整示例

from influxdb_client import InfluxDBClientinfluxdb_token = "SkeHprHCgmvtX3LXluMUlgyl5nzwM4zdMtsCuT7BQXsaJlhFPMJizKj0nX3ugr9vRfY7Ak4rIhu-wx-aIqNFig=="
influxdb_org = "manager"
client = InfluxDBClient(url="http://localhost:8086", token=influxdb_token, org=influxdb_org)
buckets_api = client.buckets_api()# 增
print("===================== 创建bucket =====================")
created_bucket = buckets_api.create_bucket(bucket_name="new_create_bucket", org=influxdb_org)# 查
print("===================== 查询全部的bucket =====================")
all_buckets = buckets_api.find_buckets(org=influxdb_org).buckets  # 创建永远不会删除数据的 bucket
for _record_bucket in all_buckets:bucket_info = {"id": _record_bucket.id,"name": _record_bucket.name,"retention": _record_bucket.retention_rules,}print(bucket_info)print("===================== 查询某个已知name的bucket =====================")
my_bucket = buckets_api.find_bucket_by_name("new_create_bucket")# 修改
print("===================== 修改bucket =====================")
my_bucket.description = "修改后的describe"  # 先修改
my_bucket = buckets_api.update_bucket(bucket=my_bucket)  # 再保存
print(my_bucket.description)# 删除
print("===================== 删除bucket =====================")
buckets_api.delete_bucket(my_bucket)
http://www.lryc.cn/news/21399.html

相关文章:

  • 【c++】模板2—类模板
  • 基于SpringCloud的可靠消息最终一致性03:项目骨架代码(下)
  • linux如何彻底的删除文件
  • 数据仓库Hive的安装和部署
  • Python调用CANoe常见问题
  • 一起Talk Android吧(第五百零七回:图片滤镜ImageFilterView)
  • Java 解释器和即时解释器(JIT)之间的区别
  • Acwing 蓝桥杯 第二章 二分与前缀和
  • CSDN原力增长规则解读 实测一个月
  • HDMI协议介绍(三)--InfoFrame
  • 【RocketMQ】源码详解:Broker端消息储存流程、消息格式
  • IoT项目系统架构案例2
  • Vue echarts封装
  • 蓝桥杯入门即劝退(二十二)反转字符(不走寻常路)
  • 数据仓库Hive
  • 嵌入式 STM32 步进电机驱动,干货满满,建议收藏
  • 详讲函数.2.
  • 行测-判断推理-图形推理-位置规律-旋转、翻转
  • linux shell 入门学习笔记15 shell 条件测试
  • Apollo(阿波罗)分布式配置安装详解
  • Vue3之组件
  • 【网络】套接字 -- UDP
  • Lambda原理及应用
  • 运动耳机推荐、最值得入手的运动耳机清单共享
  • c盘爆满--如何清理电脑C盘
  • Nginx配置web服务器及部署反向代理
  • mvvm和mvc
  • JavaScript while 循环
  • CMU15-445 Project.0总结
  • 计算机网络题库---错题本