Connessione a InfluxDB con Kotlin

Mattepuffo's logo
Connessione a InfluxDB con Kotlin

Connessione a InfluxDB con Kotlin

In questo articolo vediamo come eseguire una connessione a InfluxDB in Kotlin.

La prima cosa da fare è installare la libreria apposita.

Se usate Maven:

        <dependency>
            <groupId>com.influxdb</groupId>
            <artifactId>influxdb-client-kotlin</artifactId>
            <version>6.6.0</version>
        </dependency>

Qui sotto il codice di esempio:

import com.influxdb.client.domain.WritePrecision
import com.influxdb.client.kotlin.InfluxDBClientKotlinFactory
import com.influxdb.client.write.Point
import kotlinx.coroutines.flow.consumeAsFlow
import kotlinx.coroutines.runBlocking
import java.time.Instant

fun main() = runBlocking {
    val token = "TOKEN"
    val org = "EMAIL"
    val bucket = "test"

    val client = InfluxDBClientKotlinFactory.create(
        "https://eu-central-1-1.aws.cloud2.influxdata.com",
        token.toCharArray(),
        org,
        bucket
    )

    client.use {
        val writeApi = client.getWriteKotlinApi()

        val point = Point
            .measurement("mem")
            .addTag("host", "host1")
            .addField("used_percent", 23.43234543)
            .time(Instant.now(), WritePrecision.NS);

        writeApi.writePoint(point)

        val query = """from(bucket: "test")
                       |> range(start: -1d)
                    """

        val results = client.getQueryKotlinApi().query(query)

        results
            .consumeAsFlow()
            .collect { println("$it") }
    }

    client.close()
}

Dove org è la email con la quale vi siete iscritti; e bucket è quello che avete creato.

Enjoy!


Condividi

Commentami!