diff --git a/README.md b/README.md index 7a222f4..0b1b2ec 100644 --- a/README.md +++ b/README.md @@ -1,62 +1,4 @@ - - -# axiom-rs - - - - - - - Axiom.co banner - - -  - -[![docs.rs](https://docs.rs/axiom-rs/badge.svg)](https://docs.rs/axiom-rs/) -[![build](https://img.shields.io/github/actions/workflow/status/axiomhq/axiom-rs/ci.yaml?branch=main&ghcache=unused)](https://github.com/axiomhq/axiom-rs/actions?query=workflow%3ACI) -[![crates.io](https://img.shields.io/crates/v/axiom-rs.svg)](https://crates.io/crates/axiom-rs) -[![License](https://img.shields.io/crates/l/axiom-rs)](LICENSE-APACHE) - -[Axiom](https://axiom.co) unlocks observability at any scale. - -- **Ingest with ease, store without limits:** Axiom's next-generation datastore - enables ingesting petabytes of data with ultimate efficiency. Ship logs from - Kubernetes, AWS, Azure, Google Cloud, DigitalOcean, Nomad, and others. -- **Query everything, all the time:** Whether DevOps, SecOps, or EverythingOps, - query all your data no matter its age. No provisioning, no moving data from - cold/archive to "hot", and no worrying about slow queries. All your data, all. - the. time. -- **Powerful dashboards, for continuous observability:** Build dashboards to - collect related queries and present information that's quick and easy to - digest for you and your team. Dashboards can be kept private or shared with - others, and are the perfect way to bring together data from different sources. - -For more information check out the -[official documentation](https://axiom.co/docs) and our -[community Discord](https://axiom.co/discord). - -## Prerequisites - -- [Create an Axiom account](https://app.axiom.co/register). -- [Create a dataset in Axiom](https://axiom.co/docs/reference/datasets) where you send your data. -- [Create an API token in Axiom](https://axiom.co/docs/reference/tokens) with permissions to update the dataset you have created. - -## Install SDK - -Add the following to your `Cargo.toml`: - -```toml -[dependencies] -axiom-rs = "VERSION" -``` - -Replace `VERSION` with the latest version number specified on the [GitHub Releases](https://github.com/axiomhq/axiom-rs/releases) page. For example, `0.11.0`. - -If you use the [Axiom CLI](https://axiom.co/reference/cli), run `eval $(axiom config export -f)` to configure your environment variables. Otherwise, [create an API token](https://axiom.co/reference/tokens) and export it as `AXIOM_TOKEN`. - -## Use client +# axiom-rs [![docs.rs](https://docs.rs/axiom-rs/badge.svg)](https://docs.rs/axiom-rs/) [![build](https://img.shields.io/github/actions/workflow/status/axiomhq/axiom-rs/ci.yaml?branch=main&ghcache=unused)](https://github.com/axiomhq/axiom-rs/actions?query=workflow%3ACI) [![crates.io](https://img.shields.io/crates/v/axiom-rs.svg)](https://crates.io/crates/axiom-rs) [![License](https://img.shields.io/crates/l/axiom-rs)](LICENSE-APACHE) ```rust,no_run use axiom_rs::Client; @@ -64,16 +6,9 @@ use serde_json::json; #[tokio::main] async fn main() -> Result<(), Box> { - // Build your client by providing a personal token and an org id: - let client = Client::builder() - .with_token("API_TOKEN") - .build()?; - - // Alternatively, auto-configure the client from the environment variable AXIOM_TOKEN: + // Auto-configure the client from the environment variable AXIOM_TOKEN: let client = Client::new()?; - client.datasets().create("DATASET_NAME", "").await?; - client .ingest( "DATASET_NAME", @@ -82,18 +17,18 @@ async fn main() -> Result<(), Box> { })], ) .await?; - - let res = client + let _res = client .query(r#"['DATASET_NAME'] | where foo == "bar" | limit 100"#, None) .await?; - println!("{:?}", res); - - client.datasets().delete("DATASET_NAME").await?; Ok(()) } ``` -For more examples, see the [examples folder](https://github.com/axiomhq/axiom-rs/tree/main/examples). +## Install + +```sh +cargo add axiom-rs +``` ## Optional features @@ -103,4 +38,12 @@ You can use the [Cargo features](https://doc.rust-lang.org/stable/cargo/referenc - `native-tls`: Enables TLS functionality provided by `native-tls`. - `rustls-tls`: Enables TLS functionality provided by `rustls`. - `tokio`: Enables usage with the `tokio` runtime. Enabled by default. -- `async-std`: Enables usage with the `async-std` runtime. \ No newline at end of file +- `async-std`: Enables usage with the `async-std` runtime. + +## Documentation + +Read documentation on [axiom.co/docs/guides/rust](https://axiom.co/docs/guides/rust). + +## License + +[MIT](LICENSE-MIT) or [Apache](LICENSE-APACHE)