Class: Google::Apis::BigqueryV2::Table

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/bigquery_v2/classes.rb,
generated/google/apis/bigquery_v2/representations.rb,
generated/google/apis/bigquery_v2/representations.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ Table

Returns a new instance of Table



4318
4319
4320
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4318

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#clusteringGoogle::Apis::BigqueryV2::Clustering

[Beta] Clustering specification for the table. Must be specified with partitioning, data in the table will be first partitioned and subsequently clustered. Corresponds to the JSON property clustering



4148
4149
4150
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4148

def clustering
  @clustering
end

#creation_timeFixnum

[Output-only] The time when this table was created, in milliseconds since the epoch. Corresponds to the JSON property creationTime

Returns:

  • (Fixnum)


4154
4155
4156
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4154

def creation_time
  @creation_time
end

#descriptionString

[Optional] A user-friendly description of this table. Corresponds to the JSON property description

Returns:

  • (String)


4159
4160
4161
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4159

def description
  @description
end

#encryption_configurationGoogle::Apis::BigqueryV2::EncryptionConfiguration

Custom encryption configuration (e.g., Cloud KMS keys). Corresponds to the JSON property encryptionConfiguration



4164
4165
4166
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4164

def encryption_configuration
  @encryption_configuration
end

#etagString

[Output-only] A hash of the table metadata. Used to ensure there were no concurrent modifications to the resource when attempting an update. Not guaranteed to change when the table contents or the fields numRows, numBytes, numLongTermBytes or lastModifiedTime change. Corresponds to the JSON property etag

Returns:

  • (String)


4172
4173
4174
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4172

def etag
  @etag
end

#expiration_timeFixnum

[Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed. The defaultTableExpirationMs property of the encapsulating dataset can be used to set a default expirationTime on newly created tables. Corresponds to the JSON property expirationTime

Returns:

  • (Fixnum)


4181
4182
4183
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4181

def expiration_time
  @expiration_time
end

#external_data_configurationGoogle::Apis::BigqueryV2::ExternalDataConfiguration

[Optional] Describes the data format, location, and other properties of a table stored outside of BigQuery. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. Corresponds to the JSON property externalDataConfiguration



4188
4189
4190
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4188

def external_data_configuration
  @external_data_configuration
end

#friendly_nameString

[Optional] A descriptive name for this table. Corresponds to the JSON property friendlyName

Returns:

  • (String)


4193
4194
4195
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4193

def friendly_name
  @friendly_name
end

#idString

[Output-only] An opaque ID uniquely identifying the table. Corresponds to the JSON property id

Returns:

  • (String)


4198
4199
4200
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4198

def id
  @id
end

#kindString

[Output-only] The type of the resource. Corresponds to the JSON property kind

Returns:

  • (String)


4203
4204
4205
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4203

def kind
  @kind
end

#labelsHash<String,String>

The labels associated with this table. You can use these to organize and group your tables. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter and each label in the list must have a different key. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


4212
4213
4214
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4212

def labels
  @labels
end

#last_modified_timeFixnum

[Output-only] The time when this table was last modified, in milliseconds since the epoch. Corresponds to the JSON property lastModifiedTime

Returns:

  • (Fixnum)


4218
4219
4220
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4218

def last_modified_time
  @last_modified_time
end

#locationString

[Output-only] The geographic location where the table resides. This value is inherited from the dataset. Corresponds to the JSON property location

Returns:

  • (String)


4224
4225
4226
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4224

def location
  @location
end

#materialized_viewGoogle::Apis::BigqueryV2::MaterializedViewDefinition

[Optional] Materialized view definition. Corresponds to the JSON property materializedView



4229
4230
4231
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4229

def materialized_view
  @materialized_view
end

#modelGoogle::Apis::BigqueryV2::ModelDefinition

[Output-only, Beta] Present iff this table represents a ML model. Describes the training information for the model, and it is required to run 'PREDICT' queries. Corresponds to the JSON property model



4236
4237
4238
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4236

def model
  @model
end

#num_bytesFixnum

[Output-only] The size of this table in bytes, excluding any data in the streaming buffer. Corresponds to the JSON property numBytes

Returns:

  • (Fixnum)


4242
4243
4244
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4242

def num_bytes
  @num_bytes
end

#num_long_term_bytesFixnum

[Output-only] The number of bytes in the table that are considered "long-term storage". Corresponds to the JSON property numLongTermBytes

Returns:

  • (Fixnum)


4248
4249
4250
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4248

def num_long_term_bytes
  @num_long_term_bytes
end

#num_physical_bytesFixnum

[Output-only] [TrustedTester] The physical size of this table in bytes, excluding any data in the streaming buffer. This includes compression and storage used for time travel. Corresponds to the JSON property numPhysicalBytes

Returns:

  • (Fixnum)


4255
4256
4257
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4255

def num_physical_bytes
  @num_physical_bytes
end

#num_rowsFixnum

[Output-only] The number of rows of data in this table, excluding any data in the streaming buffer. Corresponds to the JSON property numRows

Returns:

  • (Fixnum)


4261
4262
4263
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4261

def num_rows
  @num_rows
end

#range_partitioningGoogle::Apis::BigqueryV2::RangePartitioning

[TrustedTester] Range partitioning specification for this table. Only one of timePartitioning and rangePartitioning should be specified. Corresponds to the JSON property rangePartitioning



4267
4268
4269
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4267

def range_partitioning
  @range_partitioning
end

#require_partition_filterBoolean Also known as: require_partition_filter?

[Beta] [Optional] If set to true, queries over this table require a partition filter that can be used for partition elimination to be specified. Corresponds to the JSON property requirePartitionFilter

Returns:

  • (Boolean)


4273
4274
4275
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4273

def require_partition_filter
  @require_partition_filter
end

#schemaGoogle::Apis::BigqueryV2::TableSchema

[Optional] Describes the schema of this table. Corresponds to the JSON property schema



4279
4280
4281
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4279

def schema
  @schema
end

[Output-only] A URL that can be used to access this resource again. Corresponds to the JSON property selfLink

Returns:

  • (String)


4284
4285
4286
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4284

def self_link
  @self_link
end

#streaming_bufferGoogle::Apis::BigqueryV2::Streamingbuffer

[Output-only] Contains information regarding this table's streaming buffer, if one is present. This field will be absent if the table is not being streamed to or if there is no data in the streaming buffer. Corresponds to the JSON property streamingBuffer



4291
4292
4293
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4291

def streaming_buffer
  @streaming_buffer
end

#table_referenceGoogle::Apis::BigqueryV2::TableReference

[Required] Reference describing the ID of this table. Corresponds to the JSON property tableReference



4296
4297
4298
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4296

def table_reference
  @table_reference
end

#time_partitioningGoogle::Apis::BigqueryV2::TimePartitioning

Time-based partitioning specification for this table. Only one of timePartitioning and rangePartitioning should be specified. Corresponds to the JSON property timePartitioning



4302
4303
4304
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4302

def time_partitioning
  @time_partitioning
end

#typeString

[Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. [ TrustedTester] MATERIALIZED_VIEW: SQL query whose result is persisted. EXTERNAL: A table that references data stored in an external storage system, such as Google Cloud Storage. The default value is TABLE. Corresponds to the JSON property type

Returns:

  • (String)


4311
4312
4313
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4311

def type
  @type
end

#viewGoogle::Apis::BigqueryV2::ViewDefinition

[Optional] The view definition. Corresponds to the JSON property view



4316
4317
4318
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4316

def view
  @view
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
# File 'generated/google/apis/bigquery_v2/classes.rb', line 4323

def update!(**args)
  @clustering = args[:clustering] if args.key?(:clustering)
  @creation_time = args[:creation_time] if args.key?(:creation_time)
  @description = args[:description] if args.key?(:description)
  @encryption_configuration = args[:encryption_configuration] if args.key?(:encryption_configuration)
  @etag = args[:etag] if args.key?(:etag)
  @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
  @external_data_configuration = args[:external_data_configuration] if args.key?(:external_data_configuration)
  @friendly_name = args[:friendly_name] if args.key?(:friendly_name)
  @id = args[:id] if args.key?(:id)
  @kind = args[:kind] if args.key?(:kind)
  @labels = args[:labels] if args.key?(:labels)
  @last_modified_time = args[:last_modified_time] if args.key?(:last_modified_time)
  @location = args[:location] if args.key?(:location)
  @materialized_view = args[:materialized_view] if args.key?(:materialized_view)
  @model = args[:model] if args.key?(:model)
  @num_bytes = args[:num_bytes] if args.key?(:num_bytes)
  @num_long_term_bytes = args[:num_long_term_bytes] if args.key?(:num_long_term_bytes)
  @num_physical_bytes = args[:num_physical_bytes] if args.key?(:num_physical_bytes)
  @num_rows = args[:num_rows] if args.key?(:num_rows)
  @range_partitioning = args[:range_partitioning] if args.key?(:range_partitioning)
  @require_partition_filter = args[:require_partition_filter] if args.key?(:require_partition_filter)
  @schema = args[:schema] if args.key?(:schema)
  @self_link = args[:self_link] if args.key?(:self_link)
  @streaming_buffer = args[:streaming_buffer] if args.key?(:streaming_buffer)
  @table_reference = args[:table_reference] if args.key?(:table_reference)
  @time_partitioning = args[:time_partitioning] if args.key?(:time_partitioning)
  @type = args[:type] if args.key?(:type)
  @view = args[:view] if args.key?(:view)
end