InfluxDB Java 客户端库使用教程
1. 项目的目录结构及介绍
InfluxDB Java 客户端库的 GitHub 仓库(https://github.com/influxdata/influxdb-client-java)包含以下主要目录和文件:
/client
: 包含主要的 Java 客户端代码,用于与 InfluxDB 进行交互。/core
: 包含核心库代码,提供基础功能和工具类。/examples
: 包含使用示例,展示如何使用客户端库进行数据写入和查询。/flux
: 包含 Flux 查询语言的相关代码。/pom.xml
: Maven 项目配置文件,定义了项目的依赖和构建配置。
2. 项目的启动文件介绍
项目的启动文件通常位于 /examples
目录下,例如 WriteExample.java
和 QueryExample.java
。这些示例文件展示了如何使用 InfluxDB Java 客户端库进行数据写入和查询。
示例代码:WriteExample.java
package example;
import com.influxdb.client.InfluxDBClient;
import com.influxdb.client.InfluxDBClientFactory;
import com.influxdb.client.WriteApi;
import com.influxdb.client.domain.WritePrecision;
import com.influxdb.client.write.Point;
public class WriteExample {
public static void main(String[] args) {
String url = "http://localhost:8086";
String token = "your-token";
String org = "your-org";
String bucket = "your-bucket";
InfluxDBClient client = InfluxDBClientFactory.create(url, token.toCharArray(), org, bucket);
try (WriteApi writeApi = client.getWriteApi()) {
Point point = Point.measurement("temperature")
.addTag("location", "west")
.addField("value", 55D)
.time(Instant.now().toEpochMilli(), WritePrecision.MS);
writeApi.writePoint(point);
}
client.close();
}
}
示例代码:QueryExample.java
package example;
import com.influxdb.client.InfluxDBClient;
import com.influxdb.client.InfluxDBClientFactory;
import com.influxdb.query.FluxRecord;
import com.influxdb.query.FluxTable;
import java.util.List;
public class QueryExample {
public static void main(String[] args) {
String url = "http://localhost:8086";
String token = "your-token";
String org = "your-org";
InfluxDBClient client = InfluxDBClientFactory.create(url, token.toCharArray(), org);
String query = "from(bucket:\"your-bucket\") |> range(start: -1h)";
List<FluxTable> tables = client.getQueryApi().query(query);
for (FluxTable table : tables) {
for (FluxRecord record : table.getRecords()) {
System.out.println(record);
}
}
client.close();
}
}
3. 项目的配置文件介绍
项目的配置文件主要是 pom.xml
,它定义了项目的依赖和构建配置。以下是 pom.xml
的部分内容:
<dependency>
<groupId>com.influxdb</groupId>
<artifactId>influxdb-client-java</artifactId>
<version>7.1.0</version>
</dependency>
这个依赖项定义了 InfluxDB Java 客户端库的版本,确保项目能够正确地使用该库进行开发。
其他配置文件
除了 pom.xml
,项目中可能还包含其他配置文件,例如:
/src/main/resources/application.properties
: 用于配置 InfluxDB 的连接参数,如 URL、Token、组织和桶等。
influxdb.url=http://localhost:8086
influxdb.token=your-token
influxdb.org=your-org
influxdb.bucket=your-bucket