influxdb/influxdb_iox_client
Marco Neumann 66c7d95312
refactor: use new ingester<>querier wire protocol (#4867)
* refactor: use new ingester<>querier wire protocol

Use and document the new and more flexible ingester<>querier wire
protocol.

Note that the ingester does NOT stream the response data yet, but the
internal data structures would allow that. A follow-up change will
adjust the ingester code to stream the data.

Ref #4849.

* fix: typos

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>

* refactor: clarify naming and public interface

* test: add schema assertion to `ingester_response_to_record_batches`

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
2022-06-16 08:02:28 +00:00
..
src refactor: use new ingester<>querier wire protocol (#4867) 2022-06-16 08:02:28 +00:00
Cargo.toml chore: Update datafusion + `arrow`/`parquet`/`arrow-flight` to `16.0.0 (#4851) 2022-06-14 16:31:40 +00:00
README.md docs: fix README for influxdb_iox_client (#4825) 2022-06-10 09:13:17 +00:00

README.md

InfluxDB IOx Client

This is the official Rust client library for connecting to InfluxDB IOx.

Currently only gRPC is supported.

Using the gRPC Write Client

To write to IOx, create a connection and a write client, and then send line protocol. Here is an example of creating an instance that connects to an IOx server running at http://127.0.0.1:8081 (the default bind address for the gRPC endpoint of IOx when running in all-in-one mode) and sending a line of line protocol:

#[tokio::main]
fn main() {
    use influxdb_iox_client::{
        write::Client,
        connection::Builder,
    };

    let mut connection = Builder::default()
        .build("http://127.0.0.1:8081")
        .await
        .unwrap();

    let mut client = Client::new(connection);

    // write a line of line procol data
    client
        .write_lp("bananas", "cpu,region=west user=23.2 100",0)
        .await
        .expect("failed to write to IOx");
    }
}