Class: Google::Apis::PubsubV1::BigQueryConfig
- Inherits:
-
Object
- Object
- Google::Apis::PubsubV1::BigQueryConfig
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/pubsub_v1/classes.rb,
lib/google/apis/pubsub_v1/representations.rb,
lib/google/apis/pubsub_v1/representations.rb
Overview
Configuration for a BigQuery subscription.
Instance Attribute Summary collapse
-
#drop_unknown_fields ⇒ Boolean
(also: #drop_unknown_fields?)
Optional.
-
#service_account_email ⇒ String
Optional.
-
#state ⇒ String
Output only.
-
#table ⇒ String
Optional.
-
#use_table_schema ⇒ Boolean
(also: #use_table_schema?)
Optional.
-
#use_topic_schema ⇒ Boolean
(also: #use_topic_schema?)
Optional.
-
#write_metadata ⇒ Boolean
(also: #write_metadata?)
Optional.
Instance Method Summary collapse
-
#initialize(**args) ⇒ BigQueryConfig
constructor
A new instance of BigQueryConfig.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ BigQueryConfig
Returns a new instance of BigQueryConfig.
232 233 234 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 232 def initialize(**args) update!(**args) end |
Instance Attribute Details
#drop_unknown_fields ⇒ Boolean Also known as: drop_unknown_fields?
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.
Corresponds to the JSON property dropUnknownFields
182 183 184 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 182 def drop_unknown_fields @drop_unknown_fields end |
#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.
Corresponds to the JSON property serviceAccountEmail
192 193 194 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 192 def service_account_email @service_account_email end |
#state ⇒ String
Output only. An output-only field that indicates whether or not the
subscription can receive messages.
Corresponds to the JSON property state
198 199 200 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 198 def state @state end |
#table ⇒ String
Optional. The name of the table to which to write data, of the form projectId
.datasetId
.tableId
Corresponds to the JSON property table
204 205 206 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 204 def table @table end |
#use_table_schema ⇒ Boolean Also known as: use_table_schema?
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.
Corresponds to the JSON property useTableSchema
211 212 213 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 211 def use_table_schema @use_table_schema end |
#use_topic_schema ⇒ Boolean Also known as: use_topic_schema?
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.
Corresponds to the JSON property useTopicSchema
219 220 221 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 219 def use_topic_schema @use_topic_schema end |
#write_metadata ⇒ Boolean Also known as: write_metadata?
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.
Corresponds to the JSON property writeMetadata
229 230 231 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 229 def @write_metadata end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
237 238 239 240 241 242 243 244 245 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 237 def update!(**args) @drop_unknown_fields = args[:drop_unknown_fields] if args.key?(:drop_unknown_fields) @service_account_email = args[:service_account_email] if args.key?(:service_account_email) @state = args[:state] if args.key?(:state) @table = args[:table] if args.key?(:table) @use_table_schema = args[:use_table_schema] if args.key?(:use_table_schema) @use_topic_schema = args[:use_topic_schema] if args.key?(:use_topic_schema) @write_metadata = args[:write_metadata] if args.key?(:write_metadata) end |