Crate ksqldb[−][src]
KSQL DB
This crate is a thin wrapper around the KSQL-DB REST API to make interacting with the API more ergonomic for Rust projects. Under the hood it uses reqwest as a HTTP client to interact with the API.
Quickstart
use reqwest::Client; use ksqldb::KsqlDB; use futures_util::stream::StreamExt; use serde::Deserialize; #[derive(Debug, Deserialize)] struct MyResponse { id: String, data: Vec<u32> } #[tokio::main] async fn main() { let ksql = KsqlDB::new("localhost:8080".into(), Client::builder(), false).unwrap(); let statement = r#"SHOW STREAMS EXTENDED;"#; let response = ksql.list_streams(&statement, &Default::default(), None).await.unwrap(); println!("{:#?}", response); let query = r#"SELECT * FROM MY_STREAM EMIT CHANGES;"#; let mut stream = ksql.select::<MyResponse>(&query, &Default::default()).await.unwrap(); while let Some(data) = stream.next().await { println!("{:#?}", data); } }
Modules
types | Common return types from KSQL DB |
Structs
KsqlDB | A KSQL-DB Client, ready to make requests to the server |
KsqlDBError | This structure contains various bits of information that are passed back from KSQL DB in the event of an error (the error is generated by KSQL DB, not the library). This can be due to a variety of reasons such as: |
Enums
Error | The error type for this library, it includes the wrapping of errors returned from KSQL DB |
Type Definitions
Result | The result type for this library |