Skip to content

Commit 5503227

Browse files
authored
feat(client_libs): add Scala WriteAPI example (#4579)
* chore(client_libs): update Client versions
1 parent 352c096 commit 5503227

File tree

12 files changed

+74
-16
lines changed

12 files changed

+74
-16
lines changed

src/writeData/clients/Java/description.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ Build with Maven
88
<dependency>
99
<groupId>com.influxdb</groupId>
1010
<artifactId>influxdb-client-java</artifactId>
11-
<version>4.3.0</version>
11+
<version>6.3.0</version>
1212
</dependency>
1313
```
1414

1515
Build with Gradle
1616

1717
```
1818
dependencies {
19-
implementation "com.influxdb:influxdb-client-java:4.3.0"
19+
implementation "com.influxdb:influxdb-client-java:6.3.0"
2020
}
2121
```

src/writeData/clients/Kotlin/description.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ Build with Maven
88
<dependency>
99
<groupId>com.influxdb</groupId>
1010
<artifactId>influxdb-client-kotlin</artifactId>
11-
<version>4.3.0</version>
11+
<version>6.3.0</version>
1212
</dependency>
1313
```
1414

1515
Build with Gradle
1616

1717
```
1818
dependencies {
19-
implementation "com.influxdb:influxdb-client-kotlin:4.3.0"
19+
implementation "com.influxdb:influxdb-client-kotlin:6.3.0"
2020
}
2121
```

src/writeData/clients/Scala/description.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ For more detailed and up to date information check out the [GitHub Repository](h
55
Build with sbt
66

77
```
8-
libraryDependencies += "com.influxdb" % "influxdb-client-scala" % "4.3.0"
8+
libraryDependencies += "com.influxdb" % "influxdb-client-scala" % "6.3.0"
99
```
1010

1111
Build with Maven
@@ -14,14 +14,14 @@ Build with Maven
1414
<dependency>
1515
<groupId>com.influxdb</groupId>
1616
<artifactId>influxdb-client-scala</artifactId>
17-
<version>4.3.0</version>
17+
<version>6.3.0</version>
1818
</dependency>
1919
```
2020

2121
Build with Gradle
2222

2323
```
2424
dependencies {
25-
implementation "com.influxdb:influxdb-client-scala:4.3.0"
25+
implementation "com.influxdb:influxdb-client-scala:6.3.0"
2626
}
2727
```
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
client.close()
2+
system.terminate()

src/writeData/clients/Scala/execute.example

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,3 @@ val sink = results
1010

1111
// wait to finish
1212
Await.result(sink, Duration.Inf)
13-
14-
client.close()
15-
system.terminate()
16-

src/writeData/clients/Scala/executeFull.example

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import scala.concurrent.duration.Duration
1010

1111
object InfluxDB2ScalaExample {
1212

13-
implicit val system: ActorSystem = ActorSystem("it-tests")
13+
implicit val system: ActorSystem = ActorSystem("examples")
1414

1515
def main(args: Array[String]): Unit = {
1616

src/writeData/clients/Scala/index.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ import description from 'src/writeData/clients/Scala/description.md'
33
import initialize from 'src/writeData/clients/Scala/initialize.example'
44
import execute from 'src/writeData/clients/Scala/execute.example'
55
import query from 'src/writeData/clients/Scala/query.example'
6+
import writeLP from 'src/writeData/clients/Scala/write.0.example'
7+
import writePoint from 'src/writeData/clients/Scala/write.1.example'
8+
import writePOJO from 'src/writeData/clients/Scala/write.2.example'
69
import dispose from 'src/writeData/clients/Scala/dispose.example'
710
import executeFull from 'src/writeData/clients/Scala/executeFull.example'
811

@@ -15,6 +18,20 @@ export default register =>
1518
initialize,
1619
execute,
1720
query,
21+
write: [
22+
{
23+
title: 'Use InfluxDB Line Protocol to write data',
24+
code: writeLP,
25+
},
26+
{
27+
title: 'Use a Data Point to write data',
28+
code: writePoint,
29+
},
30+
{
31+
title: 'Use POJO and corresponding class to write data',
32+
code: writePOJO,
33+
},
34+
],
1835
dispose,
1936
executeFull,
2037
})
Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,29 @@
11
package example
22

33
import akka.actor.ActorSystem
4-
import akka.stream.scaladsl.Sink
4+
import akka.stream.scaladsl.{Keep, Sink, Source}
5+
import com.influxdb.annotations.{Column, Measurement}
6+
import com.influxdb.client.domain.WritePrecision
57
import com.influxdb.client.scala.InfluxDBClientScalaFactory
68
import com.influxdb.query.FluxRecord
9+
import com.influxdb.client.write.Point
710

11+
import java.time.Instant
812
import scala.concurrent.Await
913
import scala.concurrent.duration.Duration
1014

1115
object InfluxDB2ScalaExample {
1216

13-
implicit val system: ActorSystem = ActorSystem("it-tests")
17+
implicit val system: ActorSystem = ActorSystem("examples")
1418

1519
def main(args: Array[String]): Unit = {
1620

1721
// You can generate an API token from the "API Tokens Tab" in the UI
1822
val token = sys.env.get("INFLUX_TOKEN")
1923
val org = "<%= org %>"
24+
val bucket = "<%= bucket %>"
2025

21-
val client = InfluxDBClientScalaFactory.create("<%= server %>", token.toCharArray, org)
26+
val client = InfluxDBClientScalaFactory.create("<%= server %>", token.get.toCharArray, org, bucket)
2227
}
2328
}
2429

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
val record = "mem,host=host1 used_percent=23.43234543"
2+
3+
val source = Source.single(record)
4+
val sink = client.getWriteScalaApi.writeRecord()
5+
val materialized = source.toMat(sink)(Keep.right)
6+
7+
Await.result(materialized.run(), Duration.Inf)
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
val point = Point
2+
.measurement("mem")
3+
.addTag("host", "host1")
4+
.addField("used_percent", 23.43234543)
5+
.time(Instant.now(), WritePrecision.NS)
6+
7+
val source = Source.single(point)
8+
val sink = client.getWriteScalaApi.writePoint()
9+
val materialized = source.toMat(sink)(Keep.right)
10+
11+
Await.result(materialized.run(), Duration.Inf)

0 commit comments

Comments
 (0)