Struct weaviate_community::WeaviateClient
source · pub struct WeaviateClient {
pub base_url: Url,
pub schema: Schema,
pub objects: Objects,
pub batch: Batch,
pub backups: Backups,
pub classification: Classification,
pub meta: Meta,
pub nodes: Nodes,
pub oidc: Oidc,
pub modules: Modules,
pub query: Query,
/* private fields */
}
Expand description
An asynchronous WeaviateClient
to interact with a Weaviate database.
Fields§
§base_url: Url
§schema: Schema
§objects: Objects
§batch: Batch
§backups: Backups
§classification: Classification
§meta: Meta
§nodes: Nodes
§oidc: Oidc
§modules: Modules
§query: Query
Implementations§
source§impl WeaviateClient
impl WeaviateClient
sourcepub fn new(
url: &str,
auth_client_secret: Option<AuthApiKey>,
api_keys: Option<Vec<ApiKey>>
) -> Result<Self, Box<dyn Error>>
pub fn new( url: &str, auth_client_secret: Option<AuthApiKey>, api_keys: Option<Vec<ApiKey>> ) -> Result<Self, Box<dyn Error>>
Construct a new WeaviateClient
§Parameters
- url: the root url for the client
- auth_client_secret: the API authentication key
§Example
Using the WeaviateClient
use std::collections::HashMap;
use weaviate_community::WeaviateClient;
use weaviate_community::collections::auth::{AuthApiKey, ApiKey};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let auth = AuthApiKey::new("test-key");
let client = WeaviateClient::new(
"http://localhost:8080",
Some(auth),
Some(vec![]),
)?;
Ok(())
}
Using the WeaviateClientBuilder
use weaviate_community::WeaviateClient;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = WeaviateClient::builder("http://localhost:8080")
.with_auth_secret("test-key")
.with_api_key("X-OpenAI-Api-Key", "your-key")
.build();
Ok(())
}
sourcepub async fn is_live(&self) -> Result<bool, Box<dyn Error>>
pub async fn is_live(&self) -> Result<bool, Box<dyn Error>>
Determine if the application is ready to receive traffic.
More info on the liveness can be found here
GET /v1/.well-known/live
Endpoint returns HTTP status code 200 if the application is able to respond to HTTP requests.
§Returns
- Ok(bool) => True if 200, False otherwise
§Errors
When there is a reqwest error
§Example
use weaviate_community::WeaviateClient;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = WeaviateClient::builder("http://localhost:8080")
.with_auth_secret("test-key")
.build()?;
let res = client.is_live().await;
Ok(())
}
sourcepub async fn is_ready(&self) -> Result<bool, Box<dyn Error>>
pub async fn is_ready(&self) -> Result<bool, Box<dyn Error>>
Determine if the application is ready to receive traffic.
More info on the readiness can be found here
GET /v1/.well-known/ready
§Example
use weaviate_community::WeaviateClient;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = WeaviateClient::builder("http://localhost:8080")
.with_auth_secret("test-key")
.build()?;
let res = client.is_ready().await;
Ok(())
}
sourcepub fn builder(base_url: &str) -> WeaviateClientBuilder
pub fn builder(base_url: &str) -> WeaviateClientBuilder
Builder for the WeaviateClient
§Parameters
- base_url: the root url for the client
§Examples
Anonymous
use weaviate_community::WeaviateClient;
let client = WeaviateClient::builder("http://localhost:8080").build();
Authenticated with API key
use weaviate_community::WeaviateClient;
let client = WeaviateClient::builder("http://localhost:8080")
.with_auth_secret("your-key")
.build();
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for WeaviateClient
impl Send for WeaviateClient
impl Sync for WeaviateClient
impl Unpin for WeaviateClient
impl !UnwindSafe for WeaviateClient
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more