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
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)

python使用influxdb-client管理InfluxDB的bucket相关推荐

  1. InfluxDB简介,InfluxDB的基本操作

    一.InfluxDB 简介 InfluxDB 是用Go语言编写的一个开源分布式时序.事件和指标数据库,无需外部依赖. 类似的数据库有Elasticsearch.Graphite等. 其主要特色功能 1 ...

  2. 什么是 Python 的 「内存管理机制」?

    什么是内存管理器(what) Python作为一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言,与大多数编程语言不同,Python中的变量无需事先申明,变量无需指定类型,程序员无需关心内存 ...

  3. python操作三大主流数据库(6)python操作mysql⑥新闻管理后台功能的完善(增、ajax异步删除新闻、改、查)...

    python操作mysql⑥新闻管理后台功能的完善(增.删.改.查) 安装表单验证 D:\python\python_mysql_redis_mongodb\version02>pip inst ...

  4. Python简单主机批量管理工具

    Python简单主机批量管理工具 一.程序介绍 需求: 简单主机批量管理工具需求:1.主机分组2.主机信息使用配置文件3.可批量执行命令.发送文件,结果实时返回4.主机用户名密码.端口可以不同5.执行 ...

  5. pip Python 包安装和管理工具

    pip 是一个 Python 包安装与管理工具. 从PyPI安装软件包: $ pip install SomePackage [...] Successfully installed SomePack ...

  6. Python如何进行内存管理?

    Python中主要通过引用计数和内存池机制进行内存管理. 一.引用计数机制 Python内部使用引用计数(记录对象有多少个引用)来保持追踪内存中的对象,当对象被创建时,该对象的引用计数加1;当对象被销 ...

  7. 4_InfluxDB学习之InfluxDB的基本概念、InfluxDB中独有的概念(Point,series),InfluxDB学习之InfluxDB的基本操作,InfluxDB操作方式,crud

    4.InfluxDB学习之InfluxDB的基本概念 4.1.与传统数据库中的名词做比较 4.2.InfluxDB中独有的概念 4.2.1.Point 4.2.2.series 4.3.InfluxD ...

  8. python写网页脚本_东拼西凑用python脚本登录web管理页面做巡检(实现)

    东拼西凑用python脚本登录web管理页面做巡检(实现) 发布时间:2020-06-06 12:26:40 来源:51CTO 阅读:489 参考博文https://www.cnblogs.com/s ...

  9. python开发软件的实例-由Python编写的MySQL管理工具代码实例

    本文实例为大家分享了由Python编写的MySQL管理工具的具体代码,供大家参考,具体内容如下 import pymysql import pandas as pd from tkinter impo ...

最新文章

  1. C++STL中的unique函数解析
  2. Linux修改文件权限为777
  3. 【Java】判断字符串是否含字母
  4. 小明分享|8ms平台下工程源码分析
  5. chromebook刷机_如何在Chromebook上拍照
  6. java异常标记_java异常机制
  7. linux mysql导出导入表_linux mysql 数据库操作导入导出 数据表导出导入
  8. 51ctopython自动化测试工程师课程价格,Python自动化测试开发实战 一门能就业的测试课...
  9. 企业财务分析一头雾水?有了这个财务报表工具,问题一键解决
  10. 《分布式机器学习:算法、理论与实践》
  11. 电脑使用过程中“xx指令引用的xx内存。该内存不能为written或read”的解决方案!
  12. 满秩矩阵可以初等变换成单位矩阵吗?
  13. Java 对接 阿里云 的短信服务完成短信的发送与查询
  14. b站服务器崩溃大会员自动续费,[财经]B站因服务器故障赠送用户1天大会员!回应补偿会自动续费会退款 - 南方财富网...
  15. 计算机网络原理第七版word,计算机网络原理简答题
  16. 计算机程序扩展名是什么,LOG文件扩展名 - 什么是.log以及如何打开? - ReviverSoft...
  17. 欢迎高校选修云创大数据免费在线直播课!
  18. 动态规划问题(凑硬币)理解总结
  19. 植物大战僵尸android4版本,植物大战僵尸4
  20. DataFrame中将空字符串替换为NaN

热门文章

  1. vue3.0 使用vue脚手架生成vue项目 运行mapbox 3D地图例子
  2. linux文件扫描并打印,Linux办公一条龙—Linux中扫描、打印的实现
  3. tnsnames.ora配置未生效_汽车保险商业车险的生效时间是什么时候?商业车险的险种有哪些?我们应该怎么买?...
  4. linux用什么命令查看ip,Linux中ip命令的使用实例
  5. 玩吧斗兽棋的一些攻略 同级子谁胜负问题
  6. MSDC 4.3 接口规范(20)
  7. ubuntu 右键选单没有创建文档
  8. 杜教筛如何推式子/堆柿子
  9. SyntaxError: Unexpected token u in JSON at position 1
  10. win10忘记密码_电脑忘记密码没关系,这招教你简单轻松改密码