Skip to main content

ReadSession

Struct ReadSession 

Source
#[non_exhaustive]
pub struct ReadSession { pub name: String, pub expire_time: Option<Timestamp>, pub data_format: DataFormat, pub table: String, pub table_modifiers: Option<TableModifiers>, pub read_options: Option<TableReadOptions>, pub streams: Vec<ReadStream>, pub estimated_total_bytes_scanned: i64, pub estimated_total_physical_file_size: i64, pub estimated_row_count: i64, pub trace_id: String, pub schema: Option<Schema>, /* private fields */ }
Expand description

Information about the ReadSession.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§name: String

Output only. Unique identifier for the session, in the form projects/{project_id}/locations/{location}/sessions/{session_id}.

§expire_time: Option<Timestamp>

Output only. Time at which the session becomes invalid. After this time, subsequent requests to read this Session will return errors. The expire_time is automatically assigned and currently cannot be specified or updated.

§data_format: DataFormat

Immutable. Data format of the output data. DATA_FORMAT_UNSPECIFIED not supported.

§table: String

Immutable. Table that this ReadSession is reading from, in the form projects/{project_id}/datasets/{dataset_id}/tables/{table_id}

§table_modifiers: Option<TableModifiers>

Optional. Any modifiers which are applied when reading from the specified table.

§read_options: Option<TableReadOptions>

Optional. Read options for this session (e.g. column selection, filters).

§streams: Vec<ReadStream>

Output only. A list of streams created with the session.

At least one stream is created with the session. In the future, larger request_stream_count values may result in this list being unpopulated, in that case, the user will need to use a List method to get the streams instead, which is not yet available.

§estimated_total_bytes_scanned: i64

Output only. An estimate on the number of bytes this session will scan when all streams are completely consumed. This estimate is based on metadata from the table which might be incomplete or stale.

§estimated_total_physical_file_size: i64

Output only. A pre-projected estimate of the total physical size of files (in bytes) that this session will scan when all streams are consumed. This estimate is independent of the selected columns and can be based on incomplete or stale metadata from the table. This field is only set for BigLake tables.

§estimated_row_count: i64

Output only. An estimate on the number of rows present in this session’s streams. This estimate is based on metadata from the table which might be incomplete or stale.

§trace_id: String

Optional. ID set by client to annotate a session identity. This does not need to be strictly unique, but instead the same ID should be used to group logically connected sessions (e.g. All using the same ID for all sessions needed to complete a Spark SQL query is reasonable).

Maximum length is 256 bytes.

§schema: Option<Schema>

The schema for the read. If read_options.selected_fields is set, the schema may be different from the table schema as it will only contain the selected fields.

Implementations§

Source§

impl ReadSession

Source

pub fn new() -> Self

Creates a new default instance.

Source

pub fn set_name<T: Into<String>>(self, v: T) -> Self

Sets the value of name.

§Example
ⓘ
let x = ReadSession::new().set_name(format!("projects/{project_id}/locations/{location_id}/sessions/{session_id}"));
Source

pub fn set_expire_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of expire_time.

§Example
ⓘ
use wkt::Timestamp;
let x = ReadSession::new().set_expire_time(Timestamp::default()/* use setters */);
Source

pub fn set_or_clear_expire_time<T>(self, v: Option<T>) -> Self
where T: Into<Timestamp>,

Sets or clears the value of expire_time.

§Example
ⓘ
use wkt::Timestamp;
let x = ReadSession::new().set_or_clear_expire_time(Some(Timestamp::default()/* use setters */));
let x = ReadSession::new().set_or_clear_expire_time(None::<Timestamp>);
Source

pub fn set_data_format<T: Into<DataFormat>>(self, v: T) -> Self

Sets the value of data_format.

§Example
ⓘ
use google_cloud_bigquery::model::DataFormat;
let x0 = ReadSession::new().set_data_format(DataFormat::Avro);
let x1 = ReadSession::new().set_data_format(DataFormat::Arrow);
Source

pub fn set_table<T: Into<String>>(self, v: T) -> Self

Sets the value of table.

§Example
ⓘ
let x = ReadSession::new().set_table("example");
Source

pub fn set_table_modifiers<T>(self, v: T) -> Self
where T: Into<TableModifiers>,

Sets the value of table_modifiers.

§Example
ⓘ
use google_cloud_bigquery::model::read_session::TableModifiers;
let x = ReadSession::new().set_table_modifiers(TableModifiers::default()/* use setters */);
Source

pub fn set_or_clear_table_modifiers<T>(self, v: Option<T>) -> Self
where T: Into<TableModifiers>,

Sets or clears the value of table_modifiers.

§Example
ⓘ
use google_cloud_bigquery::model::read_session::TableModifiers;
let x = ReadSession::new().set_or_clear_table_modifiers(Some(TableModifiers::default()/* use setters */));
let x = ReadSession::new().set_or_clear_table_modifiers(None::<TableModifiers>);
Source

pub fn set_read_options<T>(self, v: T) -> Self

Sets the value of read_options.

§Example
ⓘ
use google_cloud_bigquery::model::read_session::TableReadOptions;
let x = ReadSession::new().set_read_options(TableReadOptions::default()/* use setters */);
Source

pub fn set_or_clear_read_options<T>(self, v: Option<T>) -> Self

Sets or clears the value of read_options.

§Example
ⓘ
use google_cloud_bigquery::model::read_session::TableReadOptions;
let x = ReadSession::new().set_or_clear_read_options(Some(TableReadOptions::default()/* use setters */));
let x = ReadSession::new().set_or_clear_read_options(None::<TableReadOptions>);
Source

pub fn set_streams<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<ReadStream>,

Sets the value of streams.

§Example
ⓘ
use google_cloud_bigquery::model::ReadStream;
let x = ReadSession::new()
    .set_streams([
        ReadStream::default()/* use setters */,
        ReadStream::default()/* use (different) setters */,
    ]);
Source

pub fn set_estimated_total_bytes_scanned<T: Into<i64>>(self, v: T) -> Self

Sets the value of estimated_total_bytes_scanned.

§Example
ⓘ
let x = ReadSession::new().set_estimated_total_bytes_scanned(42);
Source

pub fn set_estimated_total_physical_file_size<T: Into<i64>>(self, v: T) -> Self

Sets the value of estimated_total_physical_file_size.

§Example
ⓘ
let x = ReadSession::new().set_estimated_total_physical_file_size(42);
Source

pub fn set_estimated_row_count<T: Into<i64>>(self, v: T) -> Self

Sets the value of estimated_row_count.

§Example
ⓘ
let x = ReadSession::new().set_estimated_row_count(42);
Source

pub fn set_trace_id<T: Into<String>>(self, v: T) -> Self

Sets the value of trace_id.

§Example
ⓘ
let x = ReadSession::new().set_trace_id("example");
Source

pub fn set_schema<T: Into<Option<Schema>>>(self, v: T) -> Self

Sets the value of schema.

Note that all the setters affecting schema are mutually exclusive.

§Example
ⓘ
use google_cloud_bigquery::model::AvroSchema;
let x = ReadSession::new().set_schema(Some(
    google_cloud_bigquery::model::read_session::Schema::AvroSchema(AvroSchema::default().into())));
Source

pub fn avro_schema(&self) -> Option<&Box<AvroSchema>>

The value of schema if it holds a AvroSchema, None if the field is not set or holds a different branch.

Source

pub fn set_avro_schema<T: Into<Box<AvroSchema>>>(self, v: T) -> Self

Sets the value of schema to hold a AvroSchema.

Note that all the setters affecting schema are mutually exclusive.

§Example
ⓘ
use google_cloud_bigquery::model::AvroSchema;
let x = ReadSession::new().set_avro_schema(AvroSchema::default()/* use setters */);
assert!(x.avro_schema().is_some());
assert!(x.arrow_schema().is_none());
Source

pub fn arrow_schema(&self) -> Option<&Box<ArrowSchema>>

The value of schema if it holds a ArrowSchema, None if the field is not set or holds a different branch.

Source

pub fn set_arrow_schema<T: Into<Box<ArrowSchema>>>(self, v: T) -> Self

Sets the value of schema to hold a ArrowSchema.

Note that all the setters affecting schema are mutually exclusive.

§Example
ⓘ
use google_cloud_bigquery::model::ArrowSchema;
let x = ReadSession::new().set_arrow_schema(ArrowSchema::default()/* use setters */);
assert!(x.arrow_schema().is_some());
assert!(x.avro_schema().is_none());

Trait Implementations§

Source§

impl Clone for ReadSession

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ReadSession

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for ReadSession

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Message for ReadSession

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for ReadSession

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ReadSession

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self> ⓘ

Attaches the current Context to this type, returning a WithContext wrapper. Read more
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: Sized + 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: Sized + 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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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 = !

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

fn try_from(value: U) -> Result<T, !>

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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