Cognite Rust SDK
Rust SDK to ensure excellent user experience for developers and data scientists working with the Cognite Data Fusion.
Documentation
Prerequisites
Install rust. See instructions here.
Set environment variables:
export COGNITE_BASE_URL="https://api.cognitedata.com"
export COGNITE_CLIENT_ID=<your client id>
export COGNITE_CLIENT_SECRET=<your client secret>
export COGNITE_TOKEN_URL=<your token url>
export COGNITE_SCOPES=<space separated list of scopes>
export COGNITE_PROJECT=<your project name>
Supported features for API v1
Core
- Assets
- Events
- Files
- TimeSeries
- Sequences
IAM
- Groups
- SecurityCategories
- Sessions
Data Ingestion
Data Organization
- Datasets
- Labels
- Relationships
Data Modeling
- Instances
- Spaces
- Views
- Containers
- Streams
- Records
Example
Cargo.toml:
[dependencies]
cognite-sdk = { version = "0.6.0" }
tokio = { version = "1.23", features = ["macros", "rt-multi-thread"] }
use cognite::prelude::*;
use cognite::{Asset, AssetFilter, AssetSearch, CogniteClient};
#[tokio::main]
fn main() {
let cognite_client = CogniteClient::new("TestApp", None).unwrap();
let mut filter: AssetFilter = AssetFilter::new();
filter.name = Some("Aker".to_string());
let assets = cognite_client
.assets
.filter(FilterAssetsRequest {
filter,
..Default::default()
})
.await
.unwrap();
match cognite_client
.assets
.retrieve(&vec![Identity::from(6687602007296940)], false, None)
.await
.unwrap();
}
Using the builder pattern to set OIDC credentials:
use cognite::prelude::*;
#[tokio::main]
fn main() {
let builder = CogniteClient::builder();
builder
.set_oidc_credentials(AuthenticatorConfig {
...
})
.set_project("my_project")
.set_app_name("TestApp")
.set_base_url("https://api.cognitedata.com");
let cognite_client = builder.build().unwrap();
}
Run examples
cargo run --example client
Contributing
See Contributing for details.