pub struct BigtableClient<T> { /* private fields */ }
Expand description

Service for reading from and writing to existing Bigtable tables.

Implementations§

source§

impl<T> BigtableClient<T>
where T: GrpcService<BoxBody>, T::Error: Into<StdError>, T::ResponseBody: Body<Data = Bytes> + Send + 'static, <T::ResponseBody as Body>::Error: Into<StdError> + Send,

source

pub fn new(inner: T) -> Self

source

pub fn with_origin(inner: T, origin: Uri) -> Self

source

pub fn with_interceptor<F>( inner: T, interceptor: F ) -> BigtableClient<InterceptedService<T, F>>
where F: Interceptor, T::ResponseBody: Default, T: Service<Request<BoxBody>, Response = Response<<T as GrpcService<BoxBody>>::ResponseBody>>, <T as Service<Request<BoxBody>>>::Error: Into<StdError> + Send + Sync,

source

pub fn send_compressed(self, encoding: CompressionEncoding) -> Self

Compress requests with the given encoding.

This requires the server to support it otherwise it might respond with an error.

source

pub fn accept_compressed(self, encoding: CompressionEncoding) -> Self

Enable decompressing responses.

source

pub fn max_decoding_message_size(self, limit: usize) -> Self

Limits the maximum size of a decoded message.

Default: 4MB

source

pub fn max_encoding_message_size(self, limit: usize) -> Self

Limits the maximum size of an encoded message.

Default: usize::MAX

source

pub async fn read_rows( &mut self, request: impl IntoRequest<ReadRowsRequest> ) -> Result<Response<Streaming<ReadRowsResponse>>, Status>

Streams back the contents of all requested rows in key order, optionally applying the same Reader filter to each. Depending on their size, rows and cells may be broken up across multiple responses, but atomicity of each row will still be preserved. See the ReadRowsResponse documentation for details.

source

pub async fn sample_row_keys( &mut self, request: impl IntoRequest<SampleRowKeysRequest> ) -> Result<Response<Streaming<SampleRowKeysResponse>>, Status>

Returns a sample of row keys in the table. The returned row keys will delimit contiguous sections of the table of approximately equal size, which can be used to break up the data for distributed tasks like mapreduces.

source

pub async fn mutate_row( &mut self, request: impl IntoRequest<MutateRowRequest> ) -> Result<Response<MutateRowResponse>, Status>

Mutates a row atomically. Cells already present in the row are left unchanged unless explicitly changed by mutation.

source

pub async fn mutate_rows( &mut self, request: impl IntoRequest<MutateRowsRequest> ) -> Result<Response<Streaming<MutateRowsResponse>>, Status>

Mutates multiple rows in a batch. Each individual row is mutated atomically as in MutateRow, but the entire batch is not executed atomically.

source

pub async fn check_and_mutate_row( &mut self, request: impl IntoRequest<CheckAndMutateRowRequest> ) -> Result<Response<CheckAndMutateRowResponse>, Status>

Mutates a row atomically based on the output of a predicate Reader filter.

source

pub async fn ping_and_warm( &mut self, request: impl IntoRequest<PingAndWarmRequest> ) -> Result<Response<PingAndWarmResponse>, Status>

Warm up associated instance metadata for this connection. This call is not required but may be useful for connection keep-alive.

source

pub async fn read_modify_write_row( &mut self, request: impl IntoRequest<ReadModifyWriteRowRequest> ) -> Result<Response<ReadModifyWriteRowResponse>, Status>

Modifies a row atomically on the server. The method reads the latest existing timestamp and value from the specified columns and writes a new entry based on pre-defined read/modify/write rules. The new value for the timestamp is the greater of the existing timestamp or the current server time. The method returns the new contents of all modified cells.

source

pub async fn generate_initial_change_stream_partitions( &mut self, request: impl IntoRequest<GenerateInitialChangeStreamPartitionsRequest> ) -> Result<Response<Streaming<GenerateInitialChangeStreamPartitionsResponse>>, Status>

NOTE: This API is intended to be used by Apache Beam BigtableIO. Returns the current list of partitions that make up the table’s change stream. The union of partitions will cover the entire keyspace. Partitions can be read with ReadChangeStream.

source

pub async fn read_change_stream( &mut self, request: impl IntoRequest<ReadChangeStreamRequest> ) -> Result<Response<Streaming<ReadChangeStreamResponse>>, Status>

NOTE: This API is intended to be used by Apache Beam BigtableIO. Reads changes from a table’s change stream. Changes will reflect both user-initiated mutations and mutations that are caused by garbage collection.

Trait Implementations§

source§

impl<T: Clone> Clone for BigtableClient<T>

source§

fn clone(&self) -> BigtableClient<T>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T: Debug> Debug for BigtableClient<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<T> !Freeze for BigtableClient<T>

§

impl<T> RefUnwindSafe for BigtableClient<T>
where T: RefUnwindSafe,

§

impl<T> Send for BigtableClient<T>
where T: Send,

§

impl<T> Sync for BigtableClient<T>
where T: Sync,

§

impl<T> Unpin for BigtableClient<T>
where T: Unpin,

§

impl<T> UnwindSafe for BigtableClient<T>
where T: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more