使用 InfluxDB v2 JavaScript 客户端库写入数据
使用 InfluxDB 3 客户端进行查询
InfluxDB 3 支持使用 InfluxDB v2 和 v1 工具的 写入数据兼容性终结点。然而,/api/v2/query API 终结点和相关工具(例如 InfluxDB v2 客户端库和 influx CLI)无法查询存储在 InfluxDB 3 Core 中的数据。
提供了 InfluxDB 3 客户端库,它们可与您的代码集成,以写入和查询存储在 InfluxDB 3 Core 中的数据。
比较可用于与 InfluxDB 3 Core 交互的工具。
使用 InfluxDB v2 JavaScript 客户端库 从 Node.js 环境将数据写入 InfluxDB。
JavaScript 客户端库包含以下用于将数据写入 InfluxDB 的便捷功能:
- 将默认标签应用于数据点。
- 将点缓冲到批处理中以优化数据传输。
- 失败时自动重试请求。
- 为您的网络设置可选的 HTTP 代理地址。
开始之前
使用客户端库写入数据
通过调用
new InfluxDB()构造函数并传入您的 InfluxDB URL 和数据库令牌(您已在 安装部分 中设置的环境变量)来实例化客户端。import {InfluxDB, Point} from '@influxdata/influxdb-client' const influxDB = new InfluxDB({url: process.env.INFLUX_URL, token: process.env.INFLUX_TOKEN})使用客户端的
getWriteApi()方法创建 **写入客户端**。提供您的 InfluxDB 组织 ID 和数据库名称。const writeApi = influxDB.getWriteApi(process.env.INFLUX_ORG, process.env.INFLUX_DATABASE)要将一个或多个 标签 应用于所有点,请使用
useDefaultTags()方法。将标签作为键/值对的对象提供。writeApi.useDefaultTags({region: 'west'})使用
Point()构造函数创建 点。- 调用构造函数并提供一个 测量。
- 要添加一个或多个标签,请将
tag()方法链接到构造函数。提供一个name和value。 - 要添加一个
float类型的字段,请将floatField()方法链接到构造函数。提供一个name和value。
const point1 = new Point('temperature') .tag('sensor_id', 'TLM010') .floatField('value', 24.0)使用
writePoint()方法将点写入您的 InfluxDB 存储桶。最后,使用close()方法刷新所有待处理的写入。该示例将新的数据点以及“WRITE FINISHED”记录到 stdout。writeApi.writePoint(point1) writeApi.close().then(() => { console.log('WRITE FINISHED') })
完整示例
'use strict'
/** @module write
* Writes a data point to InfluxDB using the JavaScript client library with Node.js.
**/
import {InfluxDB, Point} from '@influxdata/influxdb-client'
/**
* Instantiate the InfluxDB client
* with a configuration object.
**/
const influxDB = new InfluxDB({url: process.env.INFLUX_URL,
token: process.env.INFLUX_TOKEN})
/**
* Create a write client from the getWriteApi method.
* Provide your org and database.
**/
const writeApi = influxDB.getWriteApi(process.env.INFLUX_ORG,
process.env.INFLUX_DATABASE)
/**
* Apply default tags to all points.
**/
writeApi.useDefaultTags({region: 'west'})
/**
* Create a point and write it to the buffer.
**/
const point1 = new Point('temperature')
.tag('sensor_id', 'TLM01')
.floatField('value', 24.0)
console.log(` ${point1}`)
writeApi.writePoint(point1)
/**
* Flush pending writes and close writeApi.
**/
writeApi.close().then(() => {
console.log('WRITE FINISHED')
})在您的终端中,在 设置了环境变量或 env.js 文件 的情况下,运行以下命令来执行 JavaScript 文件:
node write.js响应码
有关 **InfluxDB API 响应代码** 的信息,请参阅 InfluxDB API 写入文档。
此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 InfluxDB 3 Core 和本文档提供反馈和错误报告。要获得支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。