Class: Google::Apis::BigtableadminV2::GoogleBigtableAdminV2TypeMap

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

Overview

A mapping of keys to values of a given type. Values of type Map are stored in a Value.array_value where each entry is another Value.array_value with two elements (the key and the value, in that order). Normally encoded Map values won't have repeated keys, however, clients are expected to handle the case in which they do. If the same key appears multiple times, the last value takes precedence.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleBigtableAdminV2TypeMap

Returns a new instance of GoogleBigtableAdminV2TypeMap.



2282
2283
2284
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2282

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

Instance Attribute Details

#key_typeGoogle::Apis::BigtableadminV2::Type

Type represents the type of data that is written to, read from, or stored in Bigtable. It is heavily based on the GoogleSQL standard to help maintain familiarity and consistency across products and features. For compatibility with Bigtable's existing untyped APIs, each Type includes an Encoding which describes how to convert to or from the underlying data. Each encoding can operate in one of two modes: - Sorted: In this mode, Bigtable guarantees that Encode(X) <= Encode(Y) if and only if X <= Y. This is useful anywhere sort order is important, for example when encoding keys. - Distinct: In this mode, Bigtable guarantees that if X != Y then Encode(X) != Encode(Y). However, the converse is not guaranteed. For example, both 'foo': '1', 'bar': '2' and 'bar': '2', 'foo': '1' are valid encodings of the same JSON value. The API clearly documents which mode is used wherever an encoding can be configured. Each encoding also documents which values are supported in which modes. For example, when encoding INT64 as a numeric STRING, negative numbers cannot be encoded in sorted mode. This is because INT64(1) > INT64(-1) , but STRING("-00001") > STRING("00001"). Corresponds to the JSON property keyType



2260
2261
2262
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2260

def key_type
  @key_type
end

#value_typeGoogle::Apis::BigtableadminV2::Type

Type represents the type of data that is written to, read from, or stored in Bigtable. It is heavily based on the GoogleSQL standard to help maintain familiarity and consistency across products and features. For compatibility with Bigtable's existing untyped APIs, each Type includes an Encoding which describes how to convert to or from the underlying data. Each encoding can operate in one of two modes: - Sorted: In this mode, Bigtable guarantees that Encode(X) <= Encode(Y) if and only if X <= Y. This is useful anywhere sort order is important, for example when encoding keys. - Distinct: In this mode, Bigtable guarantees that if X != Y then Encode(X) != Encode(Y). However, the converse is not guaranteed. For example, both 'foo': '1', 'bar': '2' and 'bar': '2', 'foo': '1' are valid encodings of the same JSON value. The API clearly documents which mode is used wherever an encoding can be configured. Each encoding also documents which values are supported in which modes. For example, when encoding INT64 as a numeric STRING, negative numbers cannot be encoded in sorted mode. This is because INT64(1) > INT64(-1) , but STRING("-00001") > STRING("00001"). Corresponds to the JSON property valueType



2280
2281
2282
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2280

def value_type
  @value_type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2287
2288
2289
2290
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2287

def update!(**args)
  @key_type = args[:key_type] if args.key?(:key_type)
  @value_type = args[:value_type] if args.key?(:value_type)
end