pub struct BasinClient { /* private fields */ }👎Deprecated since 0.21.1: This crate has been renamed to
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Expand description
Client for basin-level operations.
Implementations§
Source§impl BasinClient
impl BasinClient
Sourcepub fn new(config: ClientConfig, basin: BasinName) -> Self
👎Deprecated since 0.21.1: This crate has been renamed to s2-sdk. Please update your Cargo.toml to use s2-sdk instead.
pub fn new(config: ClientConfig, basin: BasinName) -> Self
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Create a new basin client.
Examples found in repository?
examples/delete_stream.rs (line 11)
7async fn main() -> Result<(), Box<dyn std::error::Error>> {
8 let token = std::env::var("S2_ACCESS_TOKEN")?;
9 let config = ClientConfig::new(token);
10 let basin: BasinName = "my-favorite-basin".parse()?;
11 let basin_client = BasinClient::new(config, basin);
12
13 let stream = "my-favorite-stream";
14
15 let delete_stream_request = DeleteStreamRequest::new(stream);
16
17 basin_client.delete_stream(delete_stream_request).await?;
18
19 Ok(())
20}More examples
examples/list_streams.rs (line 11)
7async fn main() -> Result<(), Box<dyn std::error::Error>> {
8 let token = std::env::var("S2_ACCESS_TOKEN")?;
9 let config = ClientConfig::new(token);
10 let basin: BasinName = "my-favorite-basin".parse()?;
11 let basin_client = BasinClient::new(config, basin);
12
13 let prefix = "my-";
14 let list_streams_request = ListStreamsRequest::new().with_prefix(prefix);
15
16 let list_streams_response = basin_client.list_streams(list_streams_request).await?;
17
18 println!("{list_streams_response:#?}");
19
20 Ok(())
21}examples/reconfigure_stream.rs (line 13)
9async fn main() -> Result<(), Box<dyn std::error::Error>> {
10 let token = std::env::var("S2_ACCESS_TOKEN")?;
11 let config = ClientConfig::new(token);
12 let basin: BasinName = "my-favorite-basin".parse()?;
13 let basin_client = BasinClient::new(config, basin);
14
15 let stream = "my-favorite-stream";
16
17 let stream_config_updates = StreamConfig::new().with_retention_policy(RetentionPolicy::Age(
18 // Change to retention policy to 1 day
19 Duration::from_secs(24 * 60 * 60),
20 ));
21
22 let reconfigure_stream_request = ReconfigureStreamRequest::new(stream)
23 .with_config(stream_config_updates)
24 // Field mask specifies which fields to update.
25 .with_mask(vec!["retention_policy".to_string()]);
26
27 let updated_stream_config = basin_client
28 .reconfigure_stream(reconfigure_stream_request)
29 .await?;
30
31 println!("{updated_stream_config:#?}");
32
33 Ok(())
34}Sourcepub fn new_with_connector<C>(
config: ClientConfig,
basin: BasinName,
connector: C,
) -> Self
👎Deprecated since 0.21.1: This crate has been renamed to s2-sdk. Please update your Cargo.toml to use s2-sdk instead.
pub fn new_with_connector<C>( config: ClientConfig, basin: BasinName, connector: C, ) -> Self
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Create a new basin client using a custom connector.
Sourcepub fn stream_client(&self, stream: impl Into<String>) -> StreamClient
👎Deprecated since 0.21.1: This crate has been renamed to s2-sdk. Please update your Cargo.toml to use s2-sdk instead.
pub fn stream_client(&self, stream: impl Into<String>) -> StreamClient
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Create a new client for stream-level operations.
Sourcepub async fn create_stream(
&self,
req: CreateStreamRequest,
) -> Result<StreamInfo, ClientError>
👎Deprecated since 0.21.1: This crate has been renamed to s2-sdk. Please update your Cargo.toml to use s2-sdk instead.
pub async fn create_stream( &self, req: CreateStreamRequest, ) -> Result<StreamInfo, ClientError>
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Create a stream.
Provide a client request token with the S2-Request-Token header for idempotent retry behaviour.
Examples found in repository?
examples/create_stream.rs (line 21)
7async fn main() -> Result<(), Box<dyn std::error::Error>> {
8 let token = std::env::var("S2_ACCESS_TOKEN")?;
9 let config = ClientConfig::new(token);
10 let client = Client::new(config);
11
12 let basin: BasinName = "my-favorite-basin".parse()?;
13 let basin_client = client.basin_client(basin);
14
15 let stream = "my-favorite-stream";
16
17 let stream_config = StreamConfig::new().with_storage_class(StorageClass::Express);
18
19 let create_stream_request = CreateStreamRequest::new(stream).with_config(stream_config);
20
21 let created_stream = basin_client.create_stream(create_stream_request).await?;
22 println!("{created_stream:#?}");
23
24 let stream_config = basin_client.get_stream_config(stream).await?;
25 println!("{stream_config:#?}");
26
27 Ok(())
28}Sourcepub async fn list_streams(
&self,
req: ListStreamsRequest,
) -> Result<ListStreamsResponse, ClientError>
👎Deprecated since 0.21.1: This crate has been renamed to s2-sdk. Please update your Cargo.toml to use s2-sdk instead.
pub async fn list_streams( &self, req: ListStreamsRequest, ) -> Result<ListStreamsResponse, ClientError>
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.List streams.
Examples found in repository?
examples/list_streams.rs (line 16)
7async fn main() -> Result<(), Box<dyn std::error::Error>> {
8 let token = std::env::var("S2_ACCESS_TOKEN")?;
9 let config = ClientConfig::new(token);
10 let basin: BasinName = "my-favorite-basin".parse()?;
11 let basin_client = BasinClient::new(config, basin);
12
13 let prefix = "my-";
14 let list_streams_request = ListStreamsRequest::new().with_prefix(prefix);
15
16 let list_streams_response = basin_client.list_streams(list_streams_request).await?;
17
18 println!("{list_streams_response:#?}");
19
20 Ok(())
21}Sourcepub async fn get_stream_config(
&self,
stream: impl Into<String>,
) -> Result<StreamConfig, ClientError>
👎Deprecated since 0.21.1: This crate has been renamed to s2-sdk. Please update your Cargo.toml to use s2-sdk instead.
pub async fn get_stream_config( &self, stream: impl Into<String>, ) -> Result<StreamConfig, ClientError>
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Get stream configuration.
Examples found in repository?
examples/create_stream.rs (line 24)
7async fn main() -> Result<(), Box<dyn std::error::Error>> {
8 let token = std::env::var("S2_ACCESS_TOKEN")?;
9 let config = ClientConfig::new(token);
10 let client = Client::new(config);
11
12 let basin: BasinName = "my-favorite-basin".parse()?;
13 let basin_client = client.basin_client(basin);
14
15 let stream = "my-favorite-stream";
16
17 let stream_config = StreamConfig::new().with_storage_class(StorageClass::Express);
18
19 let create_stream_request = CreateStreamRequest::new(stream).with_config(stream_config);
20
21 let created_stream = basin_client.create_stream(create_stream_request).await?;
22 println!("{created_stream:#?}");
23
24 let stream_config = basin_client.get_stream_config(stream).await?;
25 println!("{stream_config:#?}");
26
27 Ok(())
28}Sourcepub async fn reconfigure_stream(
&self,
req: ReconfigureStreamRequest,
) -> Result<StreamConfig, ClientError>
👎Deprecated since 0.21.1: This crate has been renamed to s2-sdk. Please update your Cargo.toml to use s2-sdk instead.
pub async fn reconfigure_stream( &self, req: ReconfigureStreamRequest, ) -> Result<StreamConfig, ClientError>
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Update stream configuration.
Examples found in repository?
examples/reconfigure_stream.rs (line 28)
9async fn main() -> Result<(), Box<dyn std::error::Error>> {
10 let token = std::env::var("S2_ACCESS_TOKEN")?;
11 let config = ClientConfig::new(token);
12 let basin: BasinName = "my-favorite-basin".parse()?;
13 let basin_client = BasinClient::new(config, basin);
14
15 let stream = "my-favorite-stream";
16
17 let stream_config_updates = StreamConfig::new().with_retention_policy(RetentionPolicy::Age(
18 // Change to retention policy to 1 day
19 Duration::from_secs(24 * 60 * 60),
20 ));
21
22 let reconfigure_stream_request = ReconfigureStreamRequest::new(stream)
23 .with_config(stream_config_updates)
24 // Field mask specifies which fields to update.
25 .with_mask(vec!["retention_policy".to_string()]);
26
27 let updated_stream_config = basin_client
28 .reconfigure_stream(reconfigure_stream_request)
29 .await?;
30
31 println!("{updated_stream_config:#?}");
32
33 Ok(())
34}Sourcepub async fn delete_stream(
&self,
req: DeleteStreamRequest,
) -> Result<(), ClientError>
👎Deprecated since 0.21.1: This crate has been renamed to s2-sdk. Please update your Cargo.toml to use s2-sdk instead.
pub async fn delete_stream( &self, req: DeleteStreamRequest, ) -> Result<(), ClientError>
s2-sdk. Please update your Cargo.toml to use s2-sdk instead.Delete a stream. Stream deletion is asynchronous, and may take a few minutes to complete.
Examples found in repository?
examples/delete_stream.rs (line 17)
7async fn main() -> Result<(), Box<dyn std::error::Error>> {
8 let token = std::env::var("S2_ACCESS_TOKEN")?;
9 let config = ClientConfig::new(token);
10 let basin: BasinName = "my-favorite-basin".parse()?;
11 let basin_client = BasinClient::new(config, basin);
12
13 let stream = "my-favorite-stream";
14
15 let delete_stream_request = DeleteStreamRequest::new(stream);
16
17 basin_client.delete_stream(delete_stream_request).await?;
18
19 Ok(())
20}Trait Implementations§
Source§impl Clone for BasinClient
impl Clone for BasinClient
Source§fn clone(&self) -> BasinClient
fn clone(&self) -> BasinClient
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !Freeze for BasinClient
impl !RefUnwindSafe for BasinClient
impl Send for BasinClient
impl Sync for BasinClient
impl Unpin for BasinClient
impl !UnwindSafe for BasinClient
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request