StorageApi

Struct StorageApi 

Source
pub struct StorageApi { /* private fields */ }
Expand description

High-level client for BigQuery Storage Write API operations.

Implementations§

Source§

impl StorageApi

Source

pub fn create_rows<M: Message>( table_descriptor: &TableDescriptor, rows: &[M], max_size_bytes: usize, ) -> (Rows, usize)

Encodes message rows into protobuf format with size management.

Processes as many rows as possible while respecting the specified size limit. Returns the encoded protobuf data and the count of rows successfully processed. When the returned count is less than the input slice length, additional calls are required for remaining rows.

The size limit should be below 10MB to accommodate request metadata overhead; 9MB provides a safe margin.

Source

pub async fn get_write_stream( &mut self, stream_name: &StreamName, view: WriteStreamView, ) -> Result<WriteStream, BQError>

Retrieves metadata for a BigQuery write stream.

Fetches stream information including schema definition and state details according to the specified view level. Higher view levels provide more comprehensive information but may have higher latency.

Source

pub async fn append_rows( &mut self, stream_name: &StreamName, rows: Rows, trace_id: String, ) -> Result<Streaming<AppendRowsResponse>, BQError>

Appends rows to a BigQuery table using the Storage Write API.

Transmits the provided rows to the specified stream and returns a streaming response for processing results. The trace ID enables request tracking across distributed systems for debugging.

Source

pub async fn append_table_batches_concurrent<M>( &self, table_batches: Vec<TableBatch<M>>, max_concurrent_streams: usize, trace_id: &str, ) -> Result<Vec<BatchAppendResult>, BQError>
where M: Message + Send + 'static,

Appends rows from multiple table batches with concurrent processing.

Returns a collection of batch results containing responses, metadata, and bytes sent for each batch processed. Results are ordered by completion, not by submission; use BatchAppendResult::batch_index to correlate with the original input order.

Trait Implementations§

Source§

impl Clone for StorageApi

Source§

fn clone(&self) -> StorageApi

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

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

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

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

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

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<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

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

Source§

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>,

Source§

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>,

Source§

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.
Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> ErasedDestructor for T
where T: 'static,