由于项目 IoTSharp 需要支持 InfluxDB  , 因此进行了初步尝试, 虽然 Flux 语法初次学习, 但查询语句却似曾相识, 如果改一下 标点符号, 你会完全认为他是 C#的拉姆达表达式,

首先看一下写入数据:

 using (var writeApi = influxDBClient.GetWriteApi()){//// Write by Point//var point = PointData.Measurement("temperature").Tag("location", "west").Field("value", 55D).Timestamp(DateTime.UtcNow.AddSeconds(-10), WritePrecision.Ns);writeApi.WritePoint("bucket_name", "org_id", point);//// Write by LineProtocol//writeApi.WriteRecord("bucket_name", "org_id", WritePrecision.Ns, "temperature,location=north value=60.0");//// Write by POCO//var temperature = new Temperature {Location = "south", Value = 62D, Time = DateTime.UtcNow};writeApi.WriteMeasurement("bucket_name", "org_id", WritePrecision.Ns, temperature);}

写入数据看起来类似于 1.0 但是 增加了 bucket 和org这些信息。

新版本的查询则更有意思:

from(bucket: "iotsharp-bucket")|> range(start: v.timeRangeStart, stop: v.timeRangeStop)|> filter(fn: (r) => r["_measurement"] == "TelemetryData")|> filter(fn: (r) => r["DeviceId"] == "a649a429-e82c-406b-8b8e-a3ba48c868fb")|> yield()

_measurement 相当于表名

DeviceId 其实类似 涛思时序数据库中的 tags 字段,

同时 , 也有类似group之类的语句, 比如

|> group(columns: [""_field""])

如果你想只要 年龄或者 用户名之类的字段 可以使用 类似下面的用法

  |> filter(fn: (r) => r["_field"] == "age" or r["_field"] == "username" )

欲了解更多C#中访问 InfluxDB 2.0 的方法, 可以参考我们的代码:

https://gitee.com/IoTSharp/IoTSharp/blob/master/IoTSharp/Storage/InfluxDBStorage.cs

InfluxDB 2.0 之Flux语法篇相关推荐

  1. 时序数据库InfluxDB 2.0 alpha 发布:主推新的Flux查询语言,TICK栈将成为整体

    InfluxDB 2.0的第一个alpha版本正式发布.2.0版本的愿景是将TICK整合成一个整体,将时序数据库.UI.仪表盘工具以及后台处理和监控代理置于一组API后面.从1.x到2.0产品线代表了 ...

  2. InfluxDB 2.0 Alpha展开测试!将会加入查询语言Flux

    InfluxData释出其开源时序数据库InfluxDB 2.0 Alpha测试版,这个版本最大的更新,便是增加了新的数据脚本和查询语言Flux,不只能提供跨平台时序数据操作,还能将TICK组件堆栈整 ...

  3. Xamarin XAML语言教程基础语法篇大学霸

    Xamarin XAML语言教程基础语法篇大学霸 前  言 Xamarin是一个跨平台开发框架.它可以用来开发iOS.Android.Windows Phone和Mac的应用程序.使用Xamarin框 ...

  4. mysql select high_priority_MySQL进阶SELECT语法篇

    MySQL进阶SELECT语法篇 2019-09-29 编程之家收集整理的这篇文章主要介绍了MySQL进阶SELECT语法篇,编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考. MysqL中 ...

  5. C# 6.0 的新语法特性

    序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 虽说出了一段时间,但是似乎有许多园友对这一块知识并不了解,如拼 ...

  6. [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性

    回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...

  7. ①(语法篇)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来背iOS八股文)

    iOS面试题 一共分为笔试题和面试题两部分 笔试题 一共分为10个 总共613题 面试题 一共400题 笔试题 一个10个系列 分别为 ①(语法篇) 共147题 已更新 ②(常识篇) 共72题 已更新 ...

  8. FPGA笔记之verilog语言(基础语法篇)

    文章目录 FPGA笔记之verilog语言(基础语法篇) 1. verilog 的基础结构 1.1 verilog设计的基本单元--module 1.2 module的使用 1.3 I/O的说明 1. ...

  9. InfluxDB 2.0 原理与应用实践

    什么是时序数据库 时序数据库,全称时间序列数据库(Time Series Database,TSDB),用于存储大量基于时间的数据,时序数据(Time Series Data)指的是一系列基于时间的数 ...

最新文章

  1. Mybatis 配置文件
  2. 初学者python用什么开发软件-对于自学python的初学者来说,应该使用什么编辑工具?...
  3. mysql find()方法_Mysql find_in_set()函数使用方法
  4. 商品搜索——输入联想|智能提示探索
  5. sleep和sleep(0)的区别
  6. 服务器 消息 208,在MSSQL2000里边 对象名 'sys.servers' 无效 服务器: 消息 208,级别 16,状态 1,行 1...
  7. 天梯—个位数统计(C语言)
  8. [javase学习笔记]-8.8 构造代码块
  9. lvds输入悬空_LVDS的接口电路设计
  10. dell服务器无线网卡,dell笔记本内置无线网卡找不到怎么处理
  11. Python修改图片尺寸、裁剪图片、拼接图片
  12. hdu 5755 Gambler Bo 高斯消元
  13. 史上最全数据库笔记(上)
  14. gcs服务 oracle,gcs resource
  15. JAVA第八课:集合(CollectionMap)
  16. 练习4-7 求e的近似值
  17. 深度学习的研究方向和发展趋势
  18. 关于nofollow的问题
  19. linux proc 文件系统下 entry 的解释(转)
  20. python 源代码 macd双底 高 低_MACD双底背离_选股公式,炒股软件,炒股公式,股票软件,股票公式_指标编写互助答疑论坛_理想论坛 - 股票论坛...

热门文章

  1. JMeter扩展JMeter插件获取更多监听器
  2. NppFTP小插件的使用
  3. Android中常用到的权限
  4. 32位应用程序单个进程最大占用内存是4GB
  5. JavaScript Dom编程艺术
  6. 广东工业大学计算机学院书记,计算机学院召开2018年工作总结大会
  7. java 输入流关闭顺序_Java IO流中先关闭输出流还是先关闭输入流?为什么?
  8. Docker 私有仓库的搭建
  9. 新款ATM恶意软件Alice 可对抗动态分析 但目前需要物理接触主机
  10. VMware Workstation 12新建虚拟机