## BigQueryConfig

# Struct BigQueryConfig

Source

    #[non_exhaustive]pub struct BigQueryConfig {
        pub table: String,
        pub use_topic_schema: bool,
        pub write_metadata: bool,
        pub drop_unknown_fields: bool,
        pub state: State,
        pub use_table_schema: bool,
        pub service_account_email: String,
        /* private fields */
    }

Expand description

Configuration for a BigQuery subscription.

## 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.
§`table: String`

Optional. The name of the table to which to write data, of the form {projectId}.{datasetId}.{tableId}

§`use_topic_schema: bool`

Optional. When true, use the topic’s schema as the columns to write to in BigQuery, if it exists. `use_topic_schema` and `use_table_schema` cannot be enabled at the same time.

§`write_metadata: bool`

Optional. When true, write the subscription name, message_id, publish_time, attributes, and ordering_key to additional columns in the table. The subscription name, message_id, and publish_time fields are put in their own columns while all other message properties (other than data) are written to a JSON object in the attributes column.

§`drop_unknown_fields: bool`

Optional. When true and use_topic_schema is true, any fields that are a part of the topic schema that are not part of the BigQuery table schema are dropped when writing to BigQuery. Otherwise, the schemas must be kept in sync and any messages with extra fields are not written and remain in the subscription’s backlog.

§`state: State`

Output only. An output-only field that indicates whether or not the subscription can receive messages.

§`use_table_schema: bool`

Optional. When true, use the BigQuery table’s schema as the columns to write to in BigQuery. `use_table_schema` and `use_topic_schema` cannot be enabled at the same time.

§`service_account_email: String`

Optional. The service account to use to write to BigQuery. The subscription creator or updater that specifies this field must have `iam.serviceAccounts.actAs` permission on the service account. If not specified, the Pub/Sub service agent, service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.

## Implementations§

Source§

### impl BigQueryConfig

Source

#### pub fn new() -> Self

Source

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

Sets the value of table.

##### §Example

ⓘ

    let x = BigQueryConfig::new().set_table("example");

Source

#### pub fn set_use_topic_schema<T: Into<bool>>(self, v: T) -> Self

Sets the value of use_topic_schema.

##### §Example

ⓘ

    let x = BigQueryConfig::new().set_use_topic_schema(true);

Source

#### pub fn set_write_metadata<T: Into<bool>>(self, v: T) -> Self

Sets the value of write_metadata.

##### §Example

ⓘ

    let x = BigQueryConfig::new().set_write_metadata(true);

Source

#### pub fn set_drop_unknown_fields<T: Into<bool>>(self, v: T) -> Self

Sets the value of drop_unknown_fields.

##### §Example

ⓘ

    let x = BigQueryConfig::new().set_drop_unknown_fields(true);

Source

#### pub fn set_state<T: Into<State>>(self, v: T) -> Self

Sets the value of state.

##### §Example

ⓘ

    use google_cloud_pubsub::model::big_query_config::State;
    let x0 = BigQueryConfig::new().set_state(State::Active);
    let x1 = BigQueryConfig::new().set_state(State::PermissionDenied);
    let x2 = BigQueryConfig::new().set_state(State::NotFound);

Source

#### pub fn set_use_table_schema<T: Into<bool>>(self, v: T) -> Self

Sets the value of use_table_schema.

##### §Example

ⓘ

    let x = BigQueryConfig::new().set_use_table_schema(true);

Source

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

Sets the value of service_account_email.

##### §Example

ⓘ

    let x = BigQueryConfig::new().set_service_account_email("example");

## Trait Implementations§

Source§

### impl Clone for BigQueryConfig

Source§

#### fn clone(&self) -> BigQueryConfig

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

### impl Debug for BigQueryConfig

Source§

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

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

### impl Default for BigQueryConfig

Source§

#### fn default() -> BigQueryConfig

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

### impl Message for BigQueryConfig

Source§

#### fn typename() -> &'static str

The typename of this message.
Source§

### impl PartialEq for BigQueryConfig

Source§

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

Tests for `self` and `other` values to be equal, and is used by `==`.
1.0.0 · Source§

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

Tests for `!=`. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

### impl StructuralPartialEq for BigQueryConfig

## Auto Trait Implementations§

§

### impl Freeze for BigQueryConfig

§

### impl RefUnwindSafe for BigQueryConfig

§

### impl Send for BigQueryConfig

§

### impl Sync for BigQueryConfig

§

### impl Unpin for BigQueryConfig

§

### impl UnwindSafe for BigQueryConfig

## 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> From<T> for T

Source§

#### fn from(t: T) -> T

Returns the argument unchanged.

§

### 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.

§

### impl<T> IntoRequest<T> for T

§

#### fn into_request(self) -> Request<T>

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

### impl<L> LayerExt<L> for L

§

#### 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`].
§

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

§

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

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

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

### impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,