docs: Create a README that explains the two clients and the feature
parent
699f4a577f
commit
a8fedb2eb5
influxdb_iox_client
|
@ -0,0 +1,62 @@
|
|||
# InfluxDB IOx Client
|
||||
|
||||
This is the official Rust client library for connecting to InfluxDB IOx.
|
||||
|
||||
## Using the HTTP API
|
||||
|
||||
If you only want to use the HTTP API, create an `influxdb_iox_client::Client`. Here is an example of
|
||||
creating an instance that connects to an IOx server running at `http://127.0.0.1:8080` and creating
|
||||
a database named `telemetry`:
|
||||
|
||||
```rust
|
||||
#[tokio::main]
|
||||
fn main() {
|
||||
use data_types::database_rules::DatabaseRules;
|
||||
use influxdb_iox_client::ClientBuilder;
|
||||
|
||||
let client = ClientBuilder::default()
|
||||
.build("http://127.0.0.1:8080")
|
||||
.expect("client should be valid");
|
||||
|
||||
client
|
||||
.create_database("telemetry", &DatabaseRules::default())
|
||||
.await
|
||||
.expect("failed to create database");
|
||||
}
|
||||
```
|
||||
|
||||
## Using the Arrow Flight API
|
||||
|
||||
IOx supports an [Arrow Flight gRPC API](https://arrow.apache.org/docs/format/Flight.html). To use
|
||||
it, enable the `flight` feature, which is off by default:
|
||||
|
||||
```toml
|
||||
[dependencies]
|
||||
influxdb_iox_client = { version = "[..]", features = ["flight"] }
|
||||
```
|
||||
|
||||
Then you can create an `influxdb_iox_client::FlightClient` by using the `FlightClientBuilder`. Here
|
||||
is an example of creating an instance that connects to an IOx server with its gRPC services
|
||||
available at `http://localhost:8082` and using it to perform a query:
|
||||
|
||||
```rust
|
||||
#[tokio::main]
|
||||
fn main() {
|
||||
use data_types::database_rules::DatabaseRules;
|
||||
use influxdb_iox_client::FlightClientBuilder;
|
||||
|
||||
let client = FlightClientBuilder::default()
|
||||
.build("http://127.0.0.1:8082")
|
||||
.expect("client should be valid");
|
||||
|
||||
let mut query_results = client
|
||||
.perform_query(scenario.database_name(), sql_query)
|
||||
.await;
|
||||
|
||||
let mut batches = vec![];
|
||||
|
||||
while let Some(data) = query_results.next().await {
|
||||
batches.push(data);
|
||||
}
|
||||
}
|
||||
```
|
Loading…
Reference in New Issue