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: QueryImplementations§
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 Freeze for WeaviateClient
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