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



3197
3198
3199
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3197

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

Instance Attribute Details

#clusteringGoogle::Apis::BigqueryV2::Clustering

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



3054
3055
3056
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3054

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)


3060
3061
3062
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3060

def creation_time
  @creation_time
end

#descriptionString

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

Returns:

  • (String)


3065
3066
3067
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3065

def description
  @description
end

#encryption_configurationGoogle::Apis::BigqueryV2::EncryptionConfiguration

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



3070
3071
3072
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3070

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)


3078
3079
3080
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3078

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)


3087
3088
3089
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3087

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



3094
3095
3096
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3094

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)


3099
3100
3101
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3099

def friendly_name
  @friendly_name
end

#idString

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

Returns:

  • (String)


3104
3105
3106
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3104

def id
  @id
end

#kindString

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

Returns:

  • (String)


3109
3110
3111
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3109

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>)


3118
3119
3120
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3118

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)


3124
3125
3126
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3124

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)


3130
3131
3132
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3130

def location
  @location
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



3137
3138
3139
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3137

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)


3143
3144
3145
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3143

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)


3149
3150
3151
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3149

def num_long_term_bytes
  @num_long_term_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)


3155
3156
3157
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3155

def num_rows
  @num_rows
end

#schemaGoogle::Apis::BigqueryV2::TableSchema

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



3160
3161
3162
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3160

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)


3165
3166
3167
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3165

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



3172
3173
3174
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3172

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



3177
3178
3179
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3177

def table_reference
  @table_reference
end

#time_partitioningGoogle::Apis::BigqueryV2::TimePartitioning

Time-based partitioning specification for this table. Corresponds to the JSON property timePartitioning



3182
3183
3184
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3182

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


3190
3191
3192
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3190

def type
  @type
end

#viewGoogle::Apis::BigqueryV2::ViewDefinition

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



3195
3196
3197
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3195

def view
  @view
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
# File 'generated/google/apis/bigquery_v2/classes.rb', line 3202

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)
  @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_rows = args[:num_rows] if args.key?(:num_rows)
  @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