class Google::Apis::PubsubV1::BigQueryConfig

Configuration for a BigQuery subscription.

Attributes

drop_unknown_fields[RW]

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. Corresponds to the JSON property `dropUnknownFields` @return [Boolean]

drop_unknown_fields?[RW]

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. Corresponds to the JSON property `dropUnknownFields` @return [Boolean]

state[RW]

Output only. An output-only field that indicates whether or not the subscription can receive messages. Corresponds to the JSON property `state` @return [String]

table[RW]

The name of the table to which to write data, of the form `projectId`.` datasetId`.`tableId` Corresponds to the JSON property `table` @return [String]

use_topic_schema[RW]

When true, use the topic's schema as the columns to write to in BigQuery, if it exists. Corresponds to the JSON property `useTopicSchema` @return [Boolean]

use_topic_schema?[RW]

When true, use the topic's schema as the columns to write to in BigQuery, if it exists. Corresponds to the JSON property `useTopicSchema` @return [Boolean]

write_metadata[RW]

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. Corresponds to the JSON property `writeMetadata` @return [Boolean]

write_metadata?[RW]

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. Corresponds to the JSON property `writeMetadata` @return [Boolean]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/pubsub_v1/classes.rb, line 88
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/pubsub_v1/classes.rb, line 93
def update!(**args)
  @drop_unknown_fields = args[:drop_unknown_fields] if args.key?(:drop_unknown_fields)
  @state = args[:state] if args.key?(:state)
  @table = args[:table] if args.key?(:table)
  @use_topic_schema = args[:use_topic_schema] if args.key?(:use_topic_schema)
  @write_metadata = args[:write_metadata] if args.key?(:write_metadata)
end