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
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相关推荐
- InfluxDB简介,InfluxDB的基本操作
一.InfluxDB 简介 InfluxDB 是用Go语言编写的一个开源分布式时序.事件和指标数据库,无需外部依赖. 类似的数据库有Elasticsearch.Graphite等. 其主要特色功能 1 ...
- 什么是 Python 的 「内存管理机制」?
什么是内存管理器(what) Python作为一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言,与大多数编程语言不同,Python中的变量无需事先申明,变量无需指定类型,程序员无需关心内存 ...
- python操作三大主流数据库(6)python操作mysql⑥新闻管理后台功能的完善(增、ajax异步删除新闻、改、查)...
python操作mysql⑥新闻管理后台功能的完善(增.删.改.查) 安装表单验证 D:\python\python_mysql_redis_mongodb\version02>pip inst ...
- Python简单主机批量管理工具
Python简单主机批量管理工具 一.程序介绍 需求: 简单主机批量管理工具需求:1.主机分组2.主机信息使用配置文件3.可批量执行命令.发送文件,结果实时返回4.主机用户名密码.端口可以不同5.执行 ...
- pip Python 包安装和管理工具
pip 是一个 Python 包安装与管理工具. 从PyPI安装软件包: $ pip install SomePackage [...] Successfully installed SomePack ...
- Python如何进行内存管理?
Python中主要通过引用计数和内存池机制进行内存管理. 一.引用计数机制 Python内部使用引用计数(记录对象有多少个引用)来保持追踪内存中的对象,当对象被创建时,该对象的引用计数加1;当对象被销 ...
- 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 ...
- python写网页脚本_东拼西凑用python脚本登录web管理页面做巡检(实现)
东拼西凑用python脚本登录web管理页面做巡检(实现) 发布时间:2020-06-06 12:26:40 来源:51CTO 阅读:489 参考博文https://www.cnblogs.com/s ...
- python开发软件的实例-由Python编写的MySQL管理工具代码实例
本文实例为大家分享了由Python编写的MySQL管理工具的具体代码,供大家参考,具体内容如下 import pymysql import pandas as pd from tkinter impo ...
最新文章
- C++STL中的unique函数解析
- Linux修改文件权限为777
- 【Java】判断字符串是否含字母
- 小明分享|8ms平台下工程源码分析
- chromebook刷机_如何在Chromebook上拍照
- java异常标记_java异常机制
- linux mysql导出导入表_linux mysql 数据库操作导入导出 数据表导出导入
- 51ctopython自动化测试工程师课程价格,Python自动化测试开发实战 一门能就业的测试课...
- 企业财务分析一头雾水?有了这个财务报表工具,问题一键解决
- 《分布式机器学习:算法、理论与实践》
- 电脑使用过程中“xx指令引用的xx内存。该内存不能为written或read”的解决方案!
- 满秩矩阵可以初等变换成单位矩阵吗?
- Java 对接 阿里云 的短信服务完成短信的发送与查询
- b站服务器崩溃大会员自动续费,[财经]B站因服务器故障赠送用户1天大会员!回应补偿会自动续费会退款 - 南方财富网...
- 计算机网络原理第七版word,计算机网络原理简答题
- 计算机程序扩展名是什么,LOG文件扩展名 - 什么是.log以及如何打开? - ReviverSoft...
- 欢迎高校选修云创大数据免费在线直播课!
- 动态规划问题(凑硬币)理解总结
- 植物大战僵尸android4版本,植物大战僵尸4
- DataFrame中将空字符串替换为NaN
热门文章
- vue3.0 使用vue脚手架生成vue项目 运行mapbox 3D地图例子
- linux文件扫描并打印,Linux办公一条龙—Linux中扫描、打印的实现
- tnsnames.ora配置未生效_汽车保险商业车险的生效时间是什么时候?商业车险的险种有哪些?我们应该怎么买?...
- linux用什么命令查看ip,Linux中ip命令的使用实例
- 玩吧斗兽棋的一些攻略 同级子谁胜负问题
- MSDC 4.3 接口规范(20)
- ubuntu 右键选单没有创建文档
- 杜教筛如何推式子/堆柿子
- SyntaxError: Unexpected token u in JSON at position 1
- win10忘记密码_电脑忘记密码没关系,这招教你简单轻松改密码