influxdb-client 2.9.0.pre.6326 → 2.9.0.pre.6549
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/README.md +174 -146
- data/lib/influxdb2/client/client.rb +17 -0
- data/test/influxdb/client_test.rb +28 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b1b6ab683d6ef70eff99de868e07895325d4467efd1e0de8987c34cca1c94552
|
4
|
+
data.tar.gz: c344c09cdfe61c111b525d333ec2768a28869eb3c9683197618c387c072d7746
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a77d6cb437975a961ad21ddb9baca14bfcd06afc8005475270a4c6cdf87421973c76815c30eb58d67117764a151c604c2a8e750d06213bb5fb69a1a81ced410a
|
7
|
+
data.tar.gz: b89483a139e8ae6447f17e9c316a02f5dc83bbd40307adb61f4b98749393f8d7618e83d611c5a9906f0f5874f0f29c7b234d3950fb3f7d2c6a73427ff92281fc
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
## 2.9.0 [unreleased]
|
2
2
|
|
3
|
+
:warning: The client can be used as a resource:
|
4
|
+
|
5
|
+
InfluxDB2::Client.use('https://localhost:8086', 'my-token') do |client|
|
6
|
+
client.do_something
|
7
|
+
end
|
8
|
+
|
9
|
+
### Features
|
10
|
+
1. [#126](https://github.com/influxdata/influxdb-client-ruby/pull/126): Add `Task` API
|
11
|
+
1. [#127](https://github.com/influxdata/influxdb-client-ruby/pull/127): Client can be used as a resource
|
12
|
+
|
3
13
|
### Bug Fixes
|
4
14
|
1. [#123](https://github.com/influxdata/influxdb-client-ruby/pull/123): Duplicate columns warning shows in improper situations
|
5
15
|
1. [#124](https://github.com/influxdata/influxdb-client-ruby/pull/124): Query return type is `Array` instead of `Hash`
|
data/README.md
CHANGED
@@ -81,6 +81,18 @@ Use **InfluxDB::Client** to create a client connected to a running InfluxDB 2 in
|
|
81
81
|
|
82
82
|
```ruby
|
83
83
|
client = InfluxDB2::Client.new('https://localhost:8086', 'my-token')
|
84
|
+
|
85
|
+
client.do_something
|
86
|
+
|
87
|
+
client.close!
|
88
|
+
```
|
89
|
+
|
90
|
+
the **InfluxDB::Client** can be also used as a resource:
|
91
|
+
|
92
|
+
```ruby
|
93
|
+
InfluxDB2::Client.use('https://localhost:8086', 'my-token') do |client|
|
94
|
+
client.do_something
|
95
|
+
end
|
84
96
|
```
|
85
97
|
|
86
98
|
#### Client Options
|
@@ -119,38 +131,41 @@ The result retrieved by [QueryApi](https://github.com/influxdata/influxdb-client
|
|
119
131
|
|
120
132
|
Synchronously executes the Flux query and return result as unprocessed String
|
121
133
|
```ruby
|
122
|
-
|
123
|
-
bucket: 'my-bucket',
|
124
|
-
org: 'my-org')
|
134
|
+
InfluxDB2::Client.use('https://localhost:8086', 'my-token', org: 'my-org') do |client|
|
125
135
|
|
126
|
-
|
127
|
-
|
136
|
+
result = client
|
137
|
+
.create_query_api
|
138
|
+
.query_raw(query: 'from(bucket:"my-bucket") |> range(start: 1970-01-01) |> last()')
|
139
|
+
puts result
|
140
|
+
end
|
128
141
|
```
|
129
142
|
#### Synchronous query
|
130
143
|
Synchronously executes the Flux query and return result as a Array of [FluxTables](https://github.com/influxdata/influxdb-client-ruby/blob/master/lib/influxdb2/client/flux_table.rb)
|
131
144
|
```ruby
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
145
|
+
InfluxDB2::Client.use('https://localhost:8086', 'my-token', org: 'my-org') do |client|
|
146
|
+
|
147
|
+
result = client
|
148
|
+
.create_query_api
|
149
|
+
.query(query: 'from(bucket:"my-bucket") |> range(start: 1970-01-01) |> last()')
|
150
|
+
|
151
|
+
result.each do |table|
|
152
|
+
table.records.each { |record| puts record.values }
|
153
|
+
end
|
154
|
+
end
|
138
155
|
```
|
139
156
|
|
140
157
|
#### Query stream
|
141
158
|
Synchronously executes the Flux query and return stream of [FluxRecord](https://github.com/influxdata/influxdb-client-ruby/blob/master/lib/influxdb2/client/flux_table.rb)
|
142
159
|
```ruby
|
143
|
-
|
144
|
-
bucket: 'my-bucket',
|
145
|
-
org: 'my-org')
|
146
|
-
|
147
|
-
query_api = client.create_query_api
|
160
|
+
InfluxDB2::Client.use('https://localhost:8086', 'my-token', org: 'my-org') do |client|
|
148
161
|
|
149
|
-
|
150
|
-
|
162
|
+
stream = client
|
163
|
+
.create_query_api
|
164
|
+
.query_stream(query: 'from(bucket:"my-bucket") |> range(start: 1970-01-01) |> last()')
|
151
165
|
|
152
|
-
|
153
|
-
|
166
|
+
stream.each do |record|
|
167
|
+
puts record.values
|
168
|
+
end
|
154
169
|
end
|
155
170
|
```
|
156
171
|
|
@@ -168,30 +183,30 @@ Parameterized query example:
|
|
168
183
|
> :warning: Parameterized Queries are supported only in InfluxDB Cloud, currently there is no support in InfluxDB OSS.
|
169
184
|
|
170
185
|
```ruby
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
result
|
180
|
-
|
181
|
-
result[0].records.each { |record| puts "#{record.time} #{record.measurement}: #{record.field} #{record.value}" }
|
186
|
+
InfluxDB2::Client.use('https://localhost:8086', 'my-token', org: 'my-org') do |client|
|
187
|
+
|
188
|
+
query = 'from(bucket: params.bucketParam) |> range(start: duration(v: params.startParam))'
|
189
|
+
params = { 'bucketParam' => 'my-bucket', 'startParam' => '-1h' }
|
190
|
+
|
191
|
+
query_api = client.create_query_api
|
192
|
+
result = query_api.query(query: query, params: params)
|
193
|
+
|
194
|
+
result[0].records.each { |record| puts "#{record.time} #{record.measurement}: #{record.field} #{record.value}" }
|
195
|
+
end
|
182
196
|
```
|
183
197
|
|
184
198
|
### Writing data
|
185
199
|
The [WriteApi](https://github.com/influxdata/influxdb-client-ruby/blob/master/lib/influxdb2/client/write_api.rb) supports synchronous and batching writes into InfluxDB 2.x. In default api uses synchronous write. To enable batching you can use WriteOption.
|
186
200
|
|
187
201
|
```ruby
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
202
|
+
InfluxDB2::Client.use('https://localhost:8086', 'my-token',
|
203
|
+
bucket: 'my-bucket',
|
204
|
+
org: 'my-org',
|
205
|
+
precision: InfluxDB2::WritePrecision::NANOSECOND) do |client|
|
192
206
|
|
193
|
-
write_api = client.create_write_api
|
194
|
-
write_api.write(data: 'h2o,location=west value=33i 15')
|
207
|
+
write_api = client.create_write_api
|
208
|
+
write_api.write(data: 'h2o,location=west value=33i 15')
|
209
|
+
end
|
195
210
|
```
|
196
211
|
|
197
212
|
#### Batching
|
@@ -209,39 +224,46 @@ The writes are processed in batches which are configurable by `WriteOptions`:
|
|
209
224
|
| exponential_base | the base for the exponential retry delay, the next delay is computed using random exponential backoff as a random value within the interval ``retry_interval * exponential_base^(attempts-1)`` and ``retry_interval * exponential_base^(attempts)``. Example for ``retry_interval=5000, exponential_base=2, max_retry_delay=125000, total=5`` Retry delays are random distributed values within the ranges of ``[5000-10000, 10000-20000, 20000-40000, 40000-80000, 80000-125000]`` | 2 |
|
210
225
|
| batch_abort_on_exception | the batching worker will be aborted after failed retry strategy | false |
|
211
226
|
```ruby
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
write_api.
|
227
|
+
InfluxDB2::Client.use('http://localhost:8086',
|
228
|
+
'my-token',
|
229
|
+
bucket: 'my-bucket',
|
230
|
+
org: 'my-org',
|
231
|
+
precision: InfluxDB2::WritePrecision::NANOSECOND,
|
232
|
+
use_ssl: false) do |client|
|
233
|
+
|
234
|
+
write_options = InfluxDB2::WriteOptions.new(write_type: InfluxDB2::WriteType::BATCHING,
|
235
|
+
batch_size: 10, flush_interval: 5_000,
|
236
|
+
max_retries: 3, max_retry_delay: 15_000,
|
237
|
+
exponential_base: 2)
|
238
|
+
|
239
|
+
write_api = client.create_write_api(write_options: write_options)
|
240
|
+
write_api.write(data: 'h2o,location=west value=33i 15')
|
241
|
+
end
|
225
242
|
```
|
226
243
|
|
227
244
|
#### Time precision
|
228
245
|
|
229
246
|
Configure default time precision:
|
230
247
|
```ruby
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
248
|
+
InfluxDB2::Client.use('https://localhost:8086', 'my-token',
|
249
|
+
bucket: 'my-bucket',
|
250
|
+
org: 'my-org',
|
251
|
+
precision: InfluxDB2::WritePrecision::NANOSECOND) do |client|
|
252
|
+
|
253
|
+
client.do_something
|
254
|
+
end
|
235
255
|
```
|
236
256
|
|
237
257
|
Configure precision per write:
|
238
258
|
```ruby
|
239
|
-
|
240
|
-
|
241
|
-
|
259
|
+
InfluxDB2::Client.use('https://localhost:8086', 'my-token',
|
260
|
+
bucket: 'my-bucket',
|
261
|
+
org: 'my-org',
|
262
|
+
precision: InfluxDB2::WritePrecision::NANOSECOND) do |client|
|
242
263
|
|
243
|
-
write_api = client.create_write_api
|
244
|
-
write_api.write(data: 'h2o,location=west value=33i 15', precision: InfluxDB2::WritePrecision::SECOND)
|
264
|
+
write_api = client.create_write_api
|
265
|
+
write_api.write(data: 'h2o,location=west value=33i 15', precision: InfluxDB2::WritePrecision::SECOND)
|
266
|
+
end
|
245
267
|
```
|
246
268
|
Allowed values for precision are:
|
247
269
|
- `InfluxDB2::WritePrecision::NANOSECOND` for nanosecond
|
@@ -253,18 +275,22 @@ Allowed values for precision are:
|
|
253
275
|
|
254
276
|
Default `bucket` and `organization` destination are configured via `InfluxDB::Client`:
|
255
277
|
```ruby
|
256
|
-
|
257
|
-
|
258
|
-
|
278
|
+
InfluxDB2::Client.use('https://localhost:8086', 'my-token',
|
279
|
+
bucket: 'my-bucket',
|
280
|
+
org: 'my-org') do |client|
|
281
|
+
|
282
|
+
client.do_something
|
283
|
+
end
|
259
284
|
```
|
260
285
|
|
261
286
|
but there is also possibility to override configuration per write:
|
262
287
|
|
263
288
|
```ruby
|
264
|
-
|
289
|
+
InfluxDB2::Client.use('https://localhost:8086', 'my-token') do |client|
|
265
290
|
|
266
|
-
write_api = client.create_write_api
|
267
|
-
write_api.write(data: 'h2o,location=west value=33i 15', bucket: 'production-data', org: 'customer-1')
|
291
|
+
write_api = client.create_write_api
|
292
|
+
write_api.write(data: 'h2o,location=west value=33i 15', bucket: 'production-data', org: 'customer-1')
|
293
|
+
end
|
268
294
|
```
|
269
295
|
|
270
296
|
#### Data format
|
@@ -277,21 +303,22 @@ The data could be written as:
|
|
277
303
|
1. `Array` of above items
|
278
304
|
|
279
305
|
```ruby
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
306
|
+
InfluxDB2::Client.use('https://localhost:8086', 'my-token',
|
307
|
+
bucket: 'my-bucket',
|
308
|
+
org: 'my-org',
|
309
|
+
precision: InfluxDB2::WritePrecision::NANOSECOND) do |client|
|
284
310
|
|
285
|
-
point = InfluxDB2::Point.new(name: 'h2o')
|
286
|
-
|
287
|
-
|
311
|
+
point = InfluxDB2::Point.new(name: 'h2o')
|
312
|
+
.add_tag('location', 'europe')
|
313
|
+
.add_field('level', 2)
|
288
314
|
|
289
|
-
hash = { name: 'h2o',
|
290
|
-
|
291
|
-
|
315
|
+
hash = { name: 'h2o',
|
316
|
+
tags: { host: 'aws', region: 'us' },
|
317
|
+
fields: { level: 5, saturation: '99%' }, time: 123 }
|
292
318
|
|
293
|
-
write_api = client.create_write_api
|
294
|
-
write_api.write(data: ['h2o,location=west value=33i 15', point, hash])
|
319
|
+
write_api = client.create_write_api
|
320
|
+
write_api.write(data: ['h2o,location=west value=33i 15', point, hash])
|
321
|
+
end
|
295
322
|
```
|
296
323
|
|
297
324
|
#### Default Tags
|
@@ -306,22 +333,23 @@ The expressions:
|
|
306
333
|
##### Via API
|
307
334
|
|
308
335
|
```ruby
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
point_settings = InfluxDB2::PointSettings.new(default_tags: { customer: 'California Miner' })
|
317
|
-
point_settings.add_default_tag('data_center', '${env.data_center}')
|
318
|
-
|
319
|
-
write_api = client.create_write_api(write_options: InfluxDB2::SYNCHRONOUS,
|
320
|
-
|
321
|
-
|
322
|
-
write_api.write(data: InfluxDB2::Point.new(name: 'h2o')
|
323
|
-
|
324
|
-
|
336
|
+
InfluxDB2::Client.use('http://localhost:8086', 'my-token',
|
337
|
+
bucket: 'my-bucket',
|
338
|
+
org: 'my-org',
|
339
|
+
precision: InfluxDB2::WritePrecision::NANOSECOND,
|
340
|
+
use_ssl: false,
|
341
|
+
tags: { id: '132-987-655' }) do |client|
|
342
|
+
|
343
|
+
point_settings = InfluxDB2::PointSettings.new(default_tags: { customer: 'California Miner' })
|
344
|
+
point_settings.add_default_tag('data_center', '${env.data_center}')
|
345
|
+
|
346
|
+
write_api = client.create_write_api(write_options: InfluxDB2::SYNCHRONOUS,
|
347
|
+
point_settings: point_settings)
|
348
|
+
|
349
|
+
write_api.write(data: InfluxDB2::Point.new(name: 'h2o')
|
350
|
+
.add_tag('location', 'europe')
|
351
|
+
.add_field('level', 2))
|
352
|
+
end
|
325
353
|
```
|
326
354
|
|
327
355
|
### Delete data
|
@@ -329,14 +357,15 @@ write_api.write(data: InfluxDB2::Point.new(name: 'h2o')
|
|
329
357
|
The [DeleteApi](https://github.com/influxdata/influxdb-client-ruby/blob/master/lib/influxdb2/client/delete_api.rb) supports deletes [points](https://docs.influxdata.com/influxdb/latest/reference/key-concepts/data-elements/#point) from an InfluxDB bucket.
|
330
358
|
|
331
359
|
```ruby
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
client.create_delete_api.delete(DateTime.rfc3339('2019-02-03T04:05:06+07:00'),
|
338
|
-
|
339
|
-
|
360
|
+
InfluxDB2::Client.use('http://localhost:8086', 'my-token',
|
361
|
+
bucket: 'my-bucket',
|
362
|
+
org: 'my-org',
|
363
|
+
precision: InfluxDB2::WritePrecision::NANOSECOND) do |client|
|
364
|
+
|
365
|
+
client.create_delete_api.delete(DateTime.rfc3339('2019-02-03T04:05:06+07:00'),
|
366
|
+
DateTime.rfc3339('2019-03-03T04:05:06+07:00'),
|
367
|
+
predicate: 'key1="value1" AND key2="value"')
|
368
|
+
end
|
340
369
|
```
|
341
370
|
|
342
371
|
The time range could be specified as:
|
@@ -376,51 +405,50 @@ bucket = 'my-bucket'
|
|
376
405
|
org = 'my-org'
|
377
406
|
token = 'my-token'
|
378
407
|
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
api = InfluxDB2::API::Client.new(client)
|
387
|
-
|
388
|
-
# Find my organization
|
389
|
-
organization = api.create_organizations_api
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
#
|
396
|
-
# Create new Bucket
|
397
|
-
#
|
398
|
-
retention_rule = InfluxDB2::API::RetentionRule.new(type: 'expire', every_seconds: 3600)
|
399
|
-
bucket_name = 'new-bucket-name'
|
400
|
-
request = InfluxDB2::API::PostBucketRequest.new(org_id: organization.id,
|
401
|
-
|
402
|
-
|
403
|
-
bucket = api.create_buckets_api
|
404
|
-
|
405
|
-
|
406
|
-
#
|
407
|
-
# Create Permission to read/write from Bucket
|
408
|
-
#
|
409
|
-
resource = InfluxDB2::API::Resource.new(type: 'buckets',
|
410
|
-
|
411
|
-
|
412
|
-
authorization = InfluxDB2::API::Authorization.new(description: "Authorization to read/write bucket: #{bucket.name}",
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
result = api.create_authorizations_api
|
419
|
-
|
420
|
-
|
421
|
-
print("The token: '#{result.token}' is authorized to read/write from/to bucket: '#{bucket.name}'.")
|
422
|
-
|
423
|
-
client.close!
|
408
|
+
InfluxDB2::Client.use(url,
|
409
|
+
token,
|
410
|
+
bucket: bucket,
|
411
|
+
org: org,
|
412
|
+
use_ssl: false,
|
413
|
+
precision: InfluxDB2::WritePrecision::NANOSECOND) do |client|
|
414
|
+
|
415
|
+
api = InfluxDB2::API::Client.new(client)
|
416
|
+
|
417
|
+
# Find my organization
|
418
|
+
organization = api.create_organizations_api
|
419
|
+
.get_orgs
|
420
|
+
.orgs
|
421
|
+
.select { |it| it.name == 'my-org' }
|
422
|
+
.first
|
423
|
+
|
424
|
+
#
|
425
|
+
# Create new Bucket
|
426
|
+
#
|
427
|
+
retention_rule = InfluxDB2::API::RetentionRule.new(type: 'expire', every_seconds: 3600)
|
428
|
+
bucket_name = 'new-bucket-name'
|
429
|
+
request = InfluxDB2::API::PostBucketRequest.new(org_id: organization.id,
|
430
|
+
name: bucket_name,
|
431
|
+
retention_rules: [retention_rule])
|
432
|
+
bucket = api.create_buckets_api
|
433
|
+
.post_buckets(request)
|
434
|
+
|
435
|
+
#
|
436
|
+
# Create Permission to read/write from Bucket
|
437
|
+
#
|
438
|
+
resource = InfluxDB2::API::Resource.new(type: 'buckets',
|
439
|
+
id: bucket.id,
|
440
|
+
org_id: organization.id)
|
441
|
+
authorization = InfluxDB2::API::Authorization.new(description: "Authorization to read/write bucket: #{bucket.name}",
|
442
|
+
org_id: organization.id,
|
443
|
+
permissions: [
|
444
|
+
InfluxDB2::API::Permission.new(action: 'read', resource: resource),
|
445
|
+
InfluxDB2::API::Permission.new(action: 'write', resource: resource)
|
446
|
+
])
|
447
|
+
result = api.create_authorizations_api
|
448
|
+
.post_authorizations(authorization)
|
449
|
+
|
450
|
+
print("The token: '#{result.token}' is authorized to read/write from/to bucket: '#{bucket.name}'.")
|
451
|
+
end
|
424
452
|
|
425
453
|
```
|
426
454
|
- sources - [create_new_bucket.rb](/examples/create_new_bucket.rb)
|
@@ -63,6 +63,23 @@ module InfluxDB2
|
|
63
63
|
at_exit { close! }
|
64
64
|
end
|
65
65
|
|
66
|
+
# Instantiate a new InfluxDB client with code block. The client will be passed as an argument
|
67
|
+
# and will be automatically closed when the block terminates.
|
68
|
+
#
|
69
|
+
# It takes same args as {InfluxDB2::Client#initialize}.
|
70
|
+
#
|
71
|
+
# @example Instantiate a client.
|
72
|
+
# InfluxDBClient::Client.use(url: 'https://localhost:8086', token: 'my-token') do |client|
|
73
|
+
# ping = client.ping
|
74
|
+
# puts ping.version
|
75
|
+
# end
|
76
|
+
def self.use(*args)
|
77
|
+
client = Client.new(*args)
|
78
|
+
yield client
|
79
|
+
ensure
|
80
|
+
client.close!
|
81
|
+
end
|
82
|
+
|
66
83
|
# Write time series data into InfluxDB thought WriteApi.
|
67
84
|
#
|
68
85
|
# @return [WriteApi] New instance of WriteApi.
|
@@ -126,4 +126,32 @@ class ClientTest < Minitest::Test
|
|
126
126
|
|
127
127
|
assert_match 'authorization: ***', output.string
|
128
128
|
end
|
129
|
+
|
130
|
+
def test_resource
|
131
|
+
InfluxDB2::Client.use('http://localhost:8086', 'my-token', use_ssl: false) do |client|
|
132
|
+
ping = client.ping
|
133
|
+
assert_equal 'ok', ping.status
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
def test_resource_closed
|
138
|
+
client = nil
|
139
|
+
InfluxDB2::Client.use('http://localhost:8086', 'my-token', use_ssl: false) do |resource|
|
140
|
+
client = resource
|
141
|
+
end
|
142
|
+
assert_equal true, client.instance_variable_get(:@closed)
|
143
|
+
end
|
144
|
+
|
145
|
+
def test_resource_closed_error
|
146
|
+
client = nil
|
147
|
+
begin
|
148
|
+
InfluxDB2::Client.use('http://localhost:8086', 'my-token', use_ssl: false) do |resource|
|
149
|
+
client = resource
|
150
|
+
raise 'Just for testing.'
|
151
|
+
end
|
152
|
+
rescue StandardError => e
|
153
|
+
puts e
|
154
|
+
end
|
155
|
+
assert_equal true, client.instance_variable_get(:@closed)
|
156
|
+
end
|
129
157
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: influxdb-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.9.0.pre.
|
4
|
+
version: 2.9.0.pre.6549
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jakub Bednar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-11-
|
11
|
+
date: 2022-11-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|