google-cloud-bigtable 1.1.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/AUTHENTICATION.md +1 -1
- data/CHANGELOG.md +54 -0
- data/TROUBLESHOOTING.md +2 -8
- data/lib/google-cloud-bigtable.rb +29 -27
- data/lib/google/cloud/bigtable.rb +18 -26
- data/lib/google/cloud/bigtable/app_profile.rb +3 -3
- data/lib/google/cloud/bigtable/app_profile/list.rb +6 -4
- data/lib/google/cloud/bigtable/backup.rb +324 -0
- data/lib/google/cloud/bigtable/backup/job.rb +87 -0
- data/lib/google/cloud/bigtable/backup/list.rb +167 -0
- data/lib/google/cloud/bigtable/chunk_processor.rb +1 -1
- data/lib/google/cloud/bigtable/cluster.rb +101 -2
- data/lib/google/cloud/bigtable/cluster/list.rb +2 -2
- data/lib/google/cloud/bigtable/column_family.rb +2 -2
- data/lib/google/cloud/bigtable/column_family_map.rb +11 -11
- data/lib/google/cloud/bigtable/column_range.rb +2 -2
- data/lib/google/cloud/bigtable/credentials.rb +36 -2
- data/lib/google/cloud/bigtable/gc_rule.rb +7 -7
- data/lib/google/cloud/bigtable/instance.rb +6 -6
- data/lib/google/cloud/bigtable/instance/cluster_map.rb +1 -1
- data/lib/google/cloud/bigtable/instance/list.rb +2 -2
- data/lib/google/cloud/bigtable/longrunning_job.rb +13 -2
- data/lib/google/cloud/bigtable/mutation_entry.rb +10 -9
- data/lib/google/cloud/bigtable/mutation_operations.rb +2 -2
- data/lib/google/cloud/bigtable/project.rb +1 -1
- data/lib/google/cloud/bigtable/read_modify_write_rule.rb +2 -2
- data/lib/google/cloud/bigtable/read_operations.rb +2 -2
- data/lib/google/cloud/bigtable/routing_policy.rb +2 -2
- data/lib/google/cloud/bigtable/row_filter/chain_filter.rb +3 -3
- data/lib/google/cloud/bigtable/row_filter/condition_filter.rb +3 -3
- data/lib/google/cloud/bigtable/row_filter/interleave_filter.rb +3 -3
- data/lib/google/cloud/bigtable/row_filter/simple_filter.rb +3 -3
- data/lib/google/cloud/bigtable/row_range.rb +2 -2
- data/lib/google/cloud/bigtable/rows_mutator.rb +3 -3
- data/lib/google/cloud/bigtable/rows_reader.rb +10 -10
- data/lib/google/cloud/bigtable/sample_row_key.rb +2 -2
- data/lib/google/cloud/bigtable/service.rb +241 -245
- data/lib/google/cloud/bigtable/table.rb +5 -4
- data/lib/google/cloud/bigtable/table/cluster_state.rb +27 -6
- data/lib/google/cloud/bigtable/table/list.rb +2 -2
- data/lib/google/cloud/bigtable/table/restore_job.rb +117 -0
- data/lib/google/cloud/bigtable/value_range.rb +2 -2
- data/lib/google/cloud/bigtable/version.rb +1 -1
- metadata +18 -96
- data/lib/google/bigtable/admin/v2/bigtable_instance_admin_pb.rb +0 -142
- data/lib/google/bigtable/admin/v2/bigtable_instance_admin_services_pb.rb +0 -87
- data/lib/google/bigtable/admin/v2/bigtable_table_admin_pb.rb +0 -141
- data/lib/google/bigtable/admin/v2/bigtable_table_admin_services_pb.rb +0 -127
- data/lib/google/bigtable/admin/v2/common_pb.rb +0 -25
- data/lib/google/bigtable/admin/v2/instance_pb.rb +0 -73
- data/lib/google/bigtable/admin/v2/table_pb.rb +0 -89
- data/lib/google/bigtable/v2/bigtable_pb.rb +0 -113
- data/lib/google/bigtable/v2/bigtable_services_pb.rb +0 -68
- data/lib/google/bigtable/v2/data_pb.rb +0 -156
- data/lib/google/cloud/bigtable/admin.rb +0 -202
- data/lib/google/cloud/bigtable/admin/credentials.rb +0 -27
- data/lib/google/cloud/bigtable/admin/v2.rb +0 -222
- data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin_client.rb +0 -1441
- data/lib/google/cloud/bigtable/admin/v2/bigtable_instance_admin_client_config.json +0 -139
- data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb +0 -1245
- data/lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client_config.json +0 -133
- data/lib/google/cloud/bigtable/admin/v2/credentials.rb +0 -51
- data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/bigtable_instance_admin.rb +0 -290
- data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/bigtable_table_admin.rb +0 -359
- data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/instance.rb +0 -195
- data/lib/google/cloud/bigtable/admin/v2/doc/google/bigtable/admin/v2/table.rb +0 -210
- data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/iam_policy.rb +0 -64
- data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/options.rb +0 -33
- data/lib/google/cloud/bigtable/admin/v2/doc/google/iam/v1/policy.rb +0 -151
- data/lib/google/cloud/bigtable/admin/v2/doc/google/longrunning/operations.rb +0 -51
- data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/any.rb +0 -131
- data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/duration.rb +0 -91
- data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/empty.rb +0 -29
- data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/field_mask.rb +0 -222
- data/lib/google/cloud/bigtable/admin/v2/doc/google/protobuf/timestamp.rb +0 -113
- data/lib/google/cloud/bigtable/admin/v2/doc/google/rpc/status.rb +0 -39
- data/lib/google/cloud/bigtable/admin/v2/doc/google/type/expr.rb +0 -45
- data/lib/google/cloud/bigtable/v2.rb +0 -146
- data/lib/google/cloud/bigtable/v2/bigtable_client.rb +0 -588
- data/lib/google/cloud/bigtable/v2/bigtable_client_config.json +0 -83
- data/lib/google/cloud/bigtable/v2/credentials.rb +0 -46
- data/lib/google/cloud/bigtable/v2/doc/google/bigtable/v2/bigtable.rb +0 -290
- data/lib/google/cloud/bigtable/v2/doc/google/bigtable/v2/data.rb +0 -493
- data/lib/google/cloud/bigtable/v2/doc/google/protobuf/any.rb +0 -131
- data/lib/google/cloud/bigtable/v2/doc/google/protobuf/wrappers.rb +0 -34
- data/lib/google/cloud/bigtable/v2/doc/google/rpc/status.rb +0 -39
@@ -1,83 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"interfaces": {
|
3
|
-
"google.bigtable.v2.Bigtable": {
|
4
|
-
"retry_codes": {
|
5
|
-
"idempotent": [
|
6
|
-
"DEADLINE_EXCEEDED",
|
7
|
-
"UNAVAILABLE"
|
8
|
-
],
|
9
|
-
"non_idempotent": []
|
10
|
-
},
|
11
|
-
"retry_params": {
|
12
|
-
"idempotent_params": {
|
13
|
-
"initial_retry_delay_millis": 10,
|
14
|
-
"retry_delay_multiplier": 2.0,
|
15
|
-
"max_retry_delay_millis": 60000,
|
16
|
-
"initial_rpc_timeout_millis": 20000,
|
17
|
-
"rpc_timeout_multiplier": 1.0,
|
18
|
-
"max_rpc_timeout_millis": 20000,
|
19
|
-
"total_timeout_millis": 600000
|
20
|
-
},
|
21
|
-
"non_idempotent_params": {
|
22
|
-
"initial_retry_delay_millis": 10,
|
23
|
-
"retry_delay_multiplier": 2.0,
|
24
|
-
"max_retry_delay_millis": 60000,
|
25
|
-
"initial_rpc_timeout_millis": 20000,
|
26
|
-
"rpc_timeout_multiplier": 1.0,
|
27
|
-
"max_rpc_timeout_millis": 20000,
|
28
|
-
"total_timeout_millis": 20000
|
29
|
-
},
|
30
|
-
"read_rows_params": {
|
31
|
-
"initial_retry_delay_millis": 10,
|
32
|
-
"retry_delay_multiplier": 2.0,
|
33
|
-
"max_retry_delay_millis": 60000,
|
34
|
-
"initial_rpc_timeout_millis": 300000,
|
35
|
-
"rpc_timeout_multiplier": 1.0,
|
36
|
-
"max_rpc_timeout_millis": 300000,
|
37
|
-
"total_timeout_millis": 43200000
|
38
|
-
},
|
39
|
-
"mutate_rows_params": {
|
40
|
-
"initial_retry_delay_millis": 10,
|
41
|
-
"retry_delay_multiplier": 2.0,
|
42
|
-
"max_retry_delay_millis": 60000,
|
43
|
-
"initial_rpc_timeout_millis": 60000,
|
44
|
-
"rpc_timeout_multiplier": 1.0,
|
45
|
-
"max_rpc_timeout_millis": 60000,
|
46
|
-
"total_timeout_millis": 600000
|
47
|
-
}
|
48
|
-
},
|
49
|
-
"methods": {
|
50
|
-
"ReadRows": {
|
51
|
-
"timeout_millis": 43200000,
|
52
|
-
"retry_codes_name": "idempotent",
|
53
|
-
"retry_params_name": "read_rows_params"
|
54
|
-
},
|
55
|
-
"SampleRowKeys": {
|
56
|
-
"timeout_millis": 20000,
|
57
|
-
"retry_codes_name": "idempotent",
|
58
|
-
"retry_params_name": "idempotent_params"
|
59
|
-
},
|
60
|
-
"MutateRow": {
|
61
|
-
"timeout_millis": 20000,
|
62
|
-
"retry_codes_name": "idempotent",
|
63
|
-
"retry_params_name": "idempotent_params"
|
64
|
-
},
|
65
|
-
"MutateRows": {
|
66
|
-
"timeout_millis": 60000,
|
67
|
-
"retry_codes_name": "idempotent",
|
68
|
-
"retry_params_name": "mutate_rows_params"
|
69
|
-
},
|
70
|
-
"CheckAndMutateRow": {
|
71
|
-
"timeout_millis": 20000,
|
72
|
-
"retry_codes_name": "non_idempotent",
|
73
|
-
"retry_params_name": "non_idempotent_params"
|
74
|
-
},
|
75
|
-
"ReadModifyWriteRow": {
|
76
|
-
"timeout_millis": 20000,
|
77
|
-
"retry_codes_name": "non_idempotent",
|
78
|
-
"retry_params_name": "non_idempotent_params"
|
79
|
-
}
|
80
|
-
}
|
81
|
-
}
|
82
|
-
}
|
83
|
-
}
|
@@ -1,46 +0,0 @@
|
|
1
|
-
# Copyright 2020 Google LLC
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
|
15
|
-
|
16
|
-
require "googleauth"
|
17
|
-
|
18
|
-
module Google
|
19
|
-
module Cloud
|
20
|
-
module Bigtable
|
21
|
-
module V2
|
22
|
-
class Credentials < Google::Auth::Credentials
|
23
|
-
SCOPE = [
|
24
|
-
"https://www.googleapis.com/auth/bigtable.data",
|
25
|
-
"https://www.googleapis.com/auth/bigtable.data.readonly",
|
26
|
-
"https://www.googleapis.com/auth/cloud-bigtable.data",
|
27
|
-
"https://www.googleapis.com/auth/cloud-bigtable.data.readonly",
|
28
|
-
"https://www.googleapis.com/auth/cloud-platform",
|
29
|
-
"https://www.googleapis.com/auth/cloud-platform.read-only"
|
30
|
-
].freeze
|
31
|
-
PATH_ENV_VARS = %w(BIGTABLE_CREDENTIALS
|
32
|
-
BIGTABLE_KEYFILE
|
33
|
-
GOOGLE_CLOUD_CREDENTIALS
|
34
|
-
GOOGLE_CLOUD_KEYFILE
|
35
|
-
GCLOUD_KEYFILE)
|
36
|
-
JSON_ENV_VARS = %w(BIGTABLE_CREDENTIALS_JSON
|
37
|
-
BIGTABLE_KEYFILE_JSON
|
38
|
-
GOOGLE_CLOUD_CREDENTIALS_JSON
|
39
|
-
GOOGLE_CLOUD_KEYFILE_JSON
|
40
|
-
GCLOUD_KEYFILE_JSON)
|
41
|
-
DEFAULT_PATHS = ["~/.config/gcloud/application_default_credentials.json"]
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
@@ -1,290 +0,0 @@
|
|
1
|
-
# Copyright 2020 Google LLC
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
|
15
|
-
|
16
|
-
module Google
|
17
|
-
module Bigtable
|
18
|
-
module V2
|
19
|
-
# Request message for Bigtable.ReadRows.
|
20
|
-
# @!attribute [rw] table_name
|
21
|
-
# @return [String]
|
22
|
-
# Required. The unique name of the table from which to read.
|
23
|
-
# Values are of the form
|
24
|
-
# `projects/<project>/instances/<instance>/tables/<table>`.
|
25
|
-
# @!attribute [rw] app_profile_id
|
26
|
-
# @return [String]
|
27
|
-
# This value specifies routing for replication. If not specified, the
|
28
|
-
# "default" application profile will be used.
|
29
|
-
# @!attribute [rw] rows
|
30
|
-
# @return [Google::Bigtable::V2::RowSet]
|
31
|
-
# The row keys and/or ranges to read. If not specified, reads from all rows.
|
32
|
-
# @!attribute [rw] filter
|
33
|
-
# @return [Google::Bigtable::V2::RowFilter]
|
34
|
-
# The filter to apply to the contents of the specified row(s). If unset,
|
35
|
-
# reads the entirety of each row.
|
36
|
-
# @!attribute [rw] rows_limit
|
37
|
-
# @return [Integer]
|
38
|
-
# The read will terminate after committing to N rows' worth of results. The
|
39
|
-
# default (zero) is to return all results.
|
40
|
-
class ReadRowsRequest; end
|
41
|
-
|
42
|
-
# Response message for Bigtable.ReadRows.
|
43
|
-
# @!attribute [rw] chunks
|
44
|
-
# @return [Array<Google::Bigtable::V2::ReadRowsResponse::CellChunk>]
|
45
|
-
# A collection of a row's contents as part of the read request.
|
46
|
-
# @!attribute [rw] last_scanned_row_key
|
47
|
-
# @return [String]
|
48
|
-
# Optionally the server might return the row key of the last row it
|
49
|
-
# has scanned. The client can use this to construct a more
|
50
|
-
# efficient retry request if needed: any row keys or portions of
|
51
|
-
# ranges less than this row key can be dropped from the request.
|
52
|
-
# This is primarily useful for cases where the server has read a
|
53
|
-
# lot of data that was filtered out since the last committed row
|
54
|
-
# key, allowing the client to skip that work on a retry.
|
55
|
-
class ReadRowsResponse
|
56
|
-
# Specifies a piece of a row's contents returned as part of the read
|
57
|
-
# response stream.
|
58
|
-
# @!attribute [rw] row_key
|
59
|
-
# @return [String]
|
60
|
-
# The row key for this chunk of data. If the row key is empty,
|
61
|
-
# this CellChunk is a continuation of the same row as the previous
|
62
|
-
# CellChunk in the response stream, even if that CellChunk was in a
|
63
|
-
# previous ReadRowsResponse message.
|
64
|
-
# @!attribute [rw] family_name
|
65
|
-
# @return [Google::Protobuf::StringValue]
|
66
|
-
# The column family name for this chunk of data. If this message
|
67
|
-
# is not present this CellChunk is a continuation of the same column
|
68
|
-
# family as the previous CellChunk. The empty string can occur as a
|
69
|
-
# column family name in a response so clients must check
|
70
|
-
# explicitly for the presence of this message, not just for
|
71
|
-
# `family_name.value` being non-empty.
|
72
|
-
# @!attribute [rw] qualifier
|
73
|
-
# @return [Google::Protobuf::BytesValue]
|
74
|
-
# The column qualifier for this chunk of data. If this message
|
75
|
-
# is not present, this CellChunk is a continuation of the same column
|
76
|
-
# as the previous CellChunk. Column qualifiers may be empty so
|
77
|
-
# clients must check for the presence of this message, not just
|
78
|
-
# for `qualifier.value` being non-empty.
|
79
|
-
# @!attribute [rw] timestamp_micros
|
80
|
-
# @return [Integer]
|
81
|
-
# The cell's stored timestamp, which also uniquely identifies it
|
82
|
-
# within its column. Values are always expressed in
|
83
|
-
# microseconds, but individual tables may set a coarser
|
84
|
-
# granularity to further restrict the allowed values. For
|
85
|
-
# example, a table which specifies millisecond granularity will
|
86
|
-
# only allow values of `timestamp_micros` which are multiples of
|
87
|
-
# 1000. Timestamps are only set in the first CellChunk per cell
|
88
|
-
# (for cells split into multiple chunks).
|
89
|
-
# @!attribute [rw] labels
|
90
|
-
# @return [Array<String>]
|
91
|
-
# Labels applied to the cell by a
|
92
|
-
# {Google::Bigtable::V2::RowFilter RowFilter}. Labels are only set
|
93
|
-
# on the first CellChunk per cell.
|
94
|
-
# @!attribute [rw] value
|
95
|
-
# @return [String]
|
96
|
-
# The value stored in the cell. Cell values can be split across
|
97
|
-
# multiple CellChunks. In that case only the value field will be
|
98
|
-
# set in CellChunks after the first: the timestamp and labels
|
99
|
-
# will only be present in the first CellChunk, even if the first
|
100
|
-
# CellChunk came in a previous ReadRowsResponse.
|
101
|
-
# @!attribute [rw] value_size
|
102
|
-
# @return [Integer]
|
103
|
-
# If this CellChunk is part of a chunked cell value and this is
|
104
|
-
# not the final chunk of that cell, value_size will be set to the
|
105
|
-
# total length of the cell value. The client can use this size
|
106
|
-
# to pre-allocate memory to hold the full cell value.
|
107
|
-
# @!attribute [rw] reset_row
|
108
|
-
# @return [true, false]
|
109
|
-
# Indicates that the client should drop all previous chunks for
|
110
|
-
# `row_key`, as it will be re-read from the beginning.
|
111
|
-
# @!attribute [rw] commit_row
|
112
|
-
# @return [true, false]
|
113
|
-
# Indicates that the client can safely process all previous chunks for
|
114
|
-
# `row_key`, as its data has been fully read.
|
115
|
-
class CellChunk; end
|
116
|
-
end
|
117
|
-
|
118
|
-
# Request message for Bigtable.SampleRowKeys.
|
119
|
-
# @!attribute [rw] table_name
|
120
|
-
# @return [String]
|
121
|
-
# Required. The unique name of the table from which to sample row keys.
|
122
|
-
# Values are of the form
|
123
|
-
# `projects/<project>/instances/<instance>/tables/<table>`.
|
124
|
-
# @!attribute [rw] app_profile_id
|
125
|
-
# @return [String]
|
126
|
-
# This value specifies routing for replication. If not specified, the
|
127
|
-
# "default" application profile will be used.
|
128
|
-
class SampleRowKeysRequest; end
|
129
|
-
|
130
|
-
# Response message for Bigtable.SampleRowKeys.
|
131
|
-
# @!attribute [rw] row_key
|
132
|
-
# @return [String]
|
133
|
-
# Sorted streamed sequence of sample row keys in the table. The table might
|
134
|
-
# have contents before the first row key in the list and after the last one,
|
135
|
-
# but a key containing the empty string indicates "end of table" and will be
|
136
|
-
# the last response given, if present.
|
137
|
-
# Note that row keys in this list may not have ever been written to or read
|
138
|
-
# from, and users should therefore not make any assumptions about the row key
|
139
|
-
# structure that are specific to their use case.
|
140
|
-
# @!attribute [rw] offset_bytes
|
141
|
-
# @return [Integer]
|
142
|
-
# Approximate total storage space used by all rows in the table which precede
|
143
|
-
# `row_key`. Buffering the contents of all rows between two subsequent
|
144
|
-
# samples would require space roughly equal to the difference in their
|
145
|
-
# `offset_bytes` fields.
|
146
|
-
class SampleRowKeysResponse; end
|
147
|
-
|
148
|
-
# Request message for Bigtable.MutateRow.
|
149
|
-
# @!attribute [rw] table_name
|
150
|
-
# @return [String]
|
151
|
-
# Required. The unique name of the table to which the mutation should be applied.
|
152
|
-
# Values are of the form
|
153
|
-
# `projects/<project>/instances/<instance>/tables/<table>`.
|
154
|
-
# @!attribute [rw] app_profile_id
|
155
|
-
# @return [String]
|
156
|
-
# This value specifies routing for replication. If not specified, the
|
157
|
-
# "default" application profile will be used.
|
158
|
-
# @!attribute [rw] row_key
|
159
|
-
# @return [String]
|
160
|
-
# Required. The key of the row to which the mutation should be applied.
|
161
|
-
# @!attribute [rw] mutations
|
162
|
-
# @return [Array<Google::Bigtable::V2::Mutation>]
|
163
|
-
# Required. Changes to be atomically applied to the specified row. Entries are applied
|
164
|
-
# in order, meaning that earlier mutations can be masked by later ones.
|
165
|
-
# Must contain at least one entry and at most 100000.
|
166
|
-
class MutateRowRequest; end
|
167
|
-
|
168
|
-
# Response message for Bigtable.MutateRow.
|
169
|
-
class MutateRowResponse; end
|
170
|
-
|
171
|
-
# Request message for BigtableService.MutateRows.
|
172
|
-
# @!attribute [rw] table_name
|
173
|
-
# @return [String]
|
174
|
-
# Required. The unique name of the table to which the mutations should be applied.
|
175
|
-
# @!attribute [rw] app_profile_id
|
176
|
-
# @return [String]
|
177
|
-
# This value specifies routing for replication. If not specified, the
|
178
|
-
# "default" application profile will be used.
|
179
|
-
# @!attribute [rw] entries
|
180
|
-
# @return [Array<Google::Bigtable::V2::MutateRowsRequest::Entry>]
|
181
|
-
# Required. The row keys and corresponding mutations to be applied in bulk.
|
182
|
-
# Each entry is applied as an atomic mutation, but the entries may be
|
183
|
-
# applied in arbitrary order (even between entries for the same row).
|
184
|
-
# At least one entry must be specified, and in total the entries can
|
185
|
-
# contain at most 100000 mutations.
|
186
|
-
class MutateRowsRequest
|
187
|
-
# A mutation for a given row.
|
188
|
-
# @!attribute [rw] row_key
|
189
|
-
# @return [String]
|
190
|
-
# The key of the row to which the `mutations` should be applied.
|
191
|
-
# @!attribute [rw] mutations
|
192
|
-
# @return [Array<Google::Bigtable::V2::Mutation>]
|
193
|
-
# Required. Changes to be atomically applied to the specified row. Mutations are
|
194
|
-
# applied in order, meaning that earlier mutations can be masked by
|
195
|
-
# later ones.
|
196
|
-
# You must specify at least one mutation.
|
197
|
-
class Entry; end
|
198
|
-
end
|
199
|
-
|
200
|
-
# Response message for BigtableService.MutateRows.
|
201
|
-
# @!attribute [rw] entries
|
202
|
-
# @return [Array<Google::Bigtable::V2::MutateRowsResponse::Entry>]
|
203
|
-
# One or more results for Entries from the batch request.
|
204
|
-
class MutateRowsResponse
|
205
|
-
# The result of applying a passed mutation in the original request.
|
206
|
-
# @!attribute [rw] index
|
207
|
-
# @return [Integer]
|
208
|
-
# The index into the original request's `entries` list of the Entry
|
209
|
-
# for which a result is being reported.
|
210
|
-
# @!attribute [rw] status
|
211
|
-
# @return [Google::Rpc::Status]
|
212
|
-
# The result of the request Entry identified by `index`.
|
213
|
-
# Depending on how requests are batched during execution, it is possible
|
214
|
-
# for one Entry to fail due to an error with another Entry. In the event
|
215
|
-
# that this occurs, the same error will be reported for both entries.
|
216
|
-
class Entry; end
|
217
|
-
end
|
218
|
-
|
219
|
-
# Request message for Bigtable.CheckAndMutateRow.
|
220
|
-
# @!attribute [rw] table_name
|
221
|
-
# @return [String]
|
222
|
-
# Required. The unique name of the table to which the conditional mutation should be
|
223
|
-
# applied.
|
224
|
-
# Values are of the form
|
225
|
-
# `projects/<project>/instances/<instance>/tables/<table>`.
|
226
|
-
# @!attribute [rw] app_profile_id
|
227
|
-
# @return [String]
|
228
|
-
# This value specifies routing for replication. If not specified, the
|
229
|
-
# "default" application profile will be used.
|
230
|
-
# @!attribute [rw] row_key
|
231
|
-
# @return [String]
|
232
|
-
# Required. The key of the row to which the conditional mutation should be applied.
|
233
|
-
# @!attribute [rw] predicate_filter
|
234
|
-
# @return [Google::Bigtable::V2::RowFilter]
|
235
|
-
# The filter to be applied to the contents of the specified row. Depending
|
236
|
-
# on whether or not any results are yielded, either `true_mutations` or
|
237
|
-
# `false_mutations` will be executed. If unset, checks that the row contains
|
238
|
-
# any values at all.
|
239
|
-
# @!attribute [rw] true_mutations
|
240
|
-
# @return [Array<Google::Bigtable::V2::Mutation>]
|
241
|
-
# Changes to be atomically applied to the specified row if `predicate_filter`
|
242
|
-
# yields at least one cell when applied to `row_key`. Entries are applied in
|
243
|
-
# order, meaning that earlier mutations can be masked by later ones.
|
244
|
-
# Must contain at least one entry if `false_mutations` is empty, and at most
|
245
|
-
# 100000.
|
246
|
-
# @!attribute [rw] false_mutations
|
247
|
-
# @return [Array<Google::Bigtable::V2::Mutation>]
|
248
|
-
# Changes to be atomically applied to the specified row if `predicate_filter`
|
249
|
-
# does not yield any cells when applied to `row_key`. Entries are applied in
|
250
|
-
# order, meaning that earlier mutations can be masked by later ones.
|
251
|
-
# Must contain at least one entry if `true_mutations` is empty, and at most
|
252
|
-
# 100000.
|
253
|
-
class CheckAndMutateRowRequest; end
|
254
|
-
|
255
|
-
# Response message for Bigtable.CheckAndMutateRow.
|
256
|
-
# @!attribute [rw] predicate_matched
|
257
|
-
# @return [true, false]
|
258
|
-
# Whether or not the request's `predicate_filter` yielded any results for
|
259
|
-
# the specified row.
|
260
|
-
class CheckAndMutateRowResponse; end
|
261
|
-
|
262
|
-
# Request message for Bigtable.ReadModifyWriteRow.
|
263
|
-
# @!attribute [rw] table_name
|
264
|
-
# @return [String]
|
265
|
-
# Required. The unique name of the table to which the read/modify/write rules should be
|
266
|
-
# applied.
|
267
|
-
# Values are of the form
|
268
|
-
# `projects/<project>/instances/<instance>/tables/<table>`.
|
269
|
-
# @!attribute [rw] app_profile_id
|
270
|
-
# @return [String]
|
271
|
-
# This value specifies routing for replication. If not specified, the
|
272
|
-
# "default" application profile will be used.
|
273
|
-
# @!attribute [rw] row_key
|
274
|
-
# @return [String]
|
275
|
-
# Required. The key of the row to which the read/modify/write rules should be applied.
|
276
|
-
# @!attribute [rw] rules
|
277
|
-
# @return [Array<Google::Bigtable::V2::ReadModifyWriteRule>]
|
278
|
-
# Required. Rules specifying how the specified row's contents are to be transformed
|
279
|
-
# into writes. Entries are applied in order, meaning that earlier rules will
|
280
|
-
# affect the results of later ones.
|
281
|
-
class ReadModifyWriteRowRequest; end
|
282
|
-
|
283
|
-
# Response message for Bigtable.ReadModifyWriteRow.
|
284
|
-
# @!attribute [rw] row
|
285
|
-
# @return [Google::Bigtable::V2::Row]
|
286
|
-
# A Row containing the new contents of all cells modified by the request.
|
287
|
-
class ReadModifyWriteRowResponse; end
|
288
|
-
end
|
289
|
-
end
|
290
|
-
end
|
@@ -1,493 +0,0 @@
|
|
1
|
-
# Copyright 2020 Google LLC
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
|
15
|
-
|
16
|
-
module Google
|
17
|
-
module Bigtable
|
18
|
-
module V2
|
19
|
-
# Specifies the complete (requested) contents of a single row of a table.
|
20
|
-
# Rows which exceed 256MiB in size cannot be read in full.
|
21
|
-
# @!attribute [rw] key
|
22
|
-
# @return [String]
|
23
|
-
# The unique key which identifies this row within its table. This is the same
|
24
|
-
# key that's used to identify the row in, for example, a MutateRowRequest.
|
25
|
-
# May contain any non-empty byte string up to 4KiB in length.
|
26
|
-
# @!attribute [rw] families
|
27
|
-
# @return [Array<Google::Bigtable::V2::Family>]
|
28
|
-
# May be empty, but only if the entire row is empty.
|
29
|
-
# The mutual ordering of column families is not specified.
|
30
|
-
class Row; end
|
31
|
-
|
32
|
-
# Specifies (some of) the contents of a single row/column family intersection
|
33
|
-
# of a table.
|
34
|
-
# @!attribute [rw] name
|
35
|
-
# @return [String]
|
36
|
-
# The unique key which identifies this family within its row. This is the
|
37
|
-
# same key that's used to identify the family in, for example, a RowFilter
|
38
|
-
# which sets its "family_name_regex_filter" field.
|
39
|
-
# Must match `[-_.a-zA-Z0-9]+`, except that AggregatingRowProcessors may
|
40
|
-
# produce cells in a sentinel family with an empty name.
|
41
|
-
# Must be no greater than 64 characters in length.
|
42
|
-
# @!attribute [rw] columns
|
43
|
-
# @return [Array<Google::Bigtable::V2::Column>]
|
44
|
-
# Must not be empty. Sorted in order of increasing "qualifier".
|
45
|
-
class Family; end
|
46
|
-
|
47
|
-
# Specifies (some of) the contents of a single row/column intersection of a
|
48
|
-
# table.
|
49
|
-
# @!attribute [rw] qualifier
|
50
|
-
# @return [String]
|
51
|
-
# The unique key which identifies this column within its family. This is the
|
52
|
-
# same key that's used to identify the column in, for example, a RowFilter
|
53
|
-
# which sets its `column_qualifier_regex_filter` field.
|
54
|
-
# May contain any byte string, including the empty string, up to 16kiB in
|
55
|
-
# length.
|
56
|
-
# @!attribute [rw] cells
|
57
|
-
# @return [Array<Google::Bigtable::V2::Cell>]
|
58
|
-
# Must not be empty. Sorted in order of decreasing "timestamp_micros".
|
59
|
-
class Column; end
|
60
|
-
|
61
|
-
# Specifies (some of) the contents of a single row/column/timestamp of a table.
|
62
|
-
# @!attribute [rw] timestamp_micros
|
63
|
-
# @return [Integer]
|
64
|
-
# The cell's stored timestamp, which also uniquely identifies it within
|
65
|
-
# its column.
|
66
|
-
# Values are always expressed in microseconds, but individual tables may set
|
67
|
-
# a coarser granularity to further restrict the allowed values. For
|
68
|
-
# example, a table which specifies millisecond granularity will only allow
|
69
|
-
# values of `timestamp_micros` which are multiples of 1000.
|
70
|
-
# @!attribute [rw] value
|
71
|
-
# @return [String]
|
72
|
-
# The value stored in the cell.
|
73
|
-
# May contain any byte string, including the empty string, up to 100MiB in
|
74
|
-
# length.
|
75
|
-
# @!attribute [rw] labels
|
76
|
-
# @return [Array<String>]
|
77
|
-
# Labels applied to the cell by a {Google::Bigtable::V2::RowFilter RowFilter}.
|
78
|
-
class Cell; end
|
79
|
-
|
80
|
-
# Specifies a contiguous range of rows.
|
81
|
-
# @!attribute [rw] start_key_closed
|
82
|
-
# @return [String]
|
83
|
-
# Used when giving an inclusive lower bound for the range.
|
84
|
-
# @!attribute [rw] start_key_open
|
85
|
-
# @return [String]
|
86
|
-
# Used when giving an exclusive lower bound for the range.
|
87
|
-
# @!attribute [rw] end_key_open
|
88
|
-
# @return [String]
|
89
|
-
# Used when giving an exclusive upper bound for the range.
|
90
|
-
# @!attribute [rw] end_key_closed
|
91
|
-
# @return [String]
|
92
|
-
# Used when giving an inclusive upper bound for the range.
|
93
|
-
class RowRange; end
|
94
|
-
|
95
|
-
# Specifies a non-contiguous set of rows.
|
96
|
-
# @!attribute [rw] row_keys
|
97
|
-
# @return [Array<String>]
|
98
|
-
# Single rows included in the set.
|
99
|
-
# @!attribute [rw] row_ranges
|
100
|
-
# @return [Array<Google::Bigtable::V2::RowRange>]
|
101
|
-
# Contiguous row ranges included in the set.
|
102
|
-
class RowSet; end
|
103
|
-
|
104
|
-
# Specifies a contiguous range of columns within a single column family.
|
105
|
-
# The range spans from <column_family>:<start_qualifier> to
|
106
|
-
# <column_family>:<end_qualifier>, where both bounds can be either
|
107
|
-
# inclusive or exclusive.
|
108
|
-
# @!attribute [rw] family_name
|
109
|
-
# @return [String]
|
110
|
-
# The name of the column family within which this range falls.
|
111
|
-
# @!attribute [rw] start_qualifier_closed
|
112
|
-
# @return [String]
|
113
|
-
# Used when giving an inclusive lower bound for the range.
|
114
|
-
# @!attribute [rw] start_qualifier_open
|
115
|
-
# @return [String]
|
116
|
-
# Used when giving an exclusive lower bound for the range.
|
117
|
-
# @!attribute [rw] end_qualifier_closed
|
118
|
-
# @return [String]
|
119
|
-
# Used when giving an inclusive upper bound for the range.
|
120
|
-
# @!attribute [rw] end_qualifier_open
|
121
|
-
# @return [String]
|
122
|
-
# Used when giving an exclusive upper bound for the range.
|
123
|
-
class ColumnRange; end
|
124
|
-
|
125
|
-
# Specified a contiguous range of microsecond timestamps.
|
126
|
-
# @!attribute [rw] start_timestamp_micros
|
127
|
-
# @return [Integer]
|
128
|
-
# Inclusive lower bound. If left empty, interpreted as 0.
|
129
|
-
# @!attribute [rw] end_timestamp_micros
|
130
|
-
# @return [Integer]
|
131
|
-
# Exclusive upper bound. If left empty, interpreted as infinity.
|
132
|
-
class TimestampRange; end
|
133
|
-
|
134
|
-
# Specifies a contiguous range of raw byte values.
|
135
|
-
# @!attribute [rw] start_value_closed
|
136
|
-
# @return [String]
|
137
|
-
# Used when giving an inclusive lower bound for the range.
|
138
|
-
# @!attribute [rw] start_value_open
|
139
|
-
# @return [String]
|
140
|
-
# Used when giving an exclusive lower bound for the range.
|
141
|
-
# @!attribute [rw] end_value_closed
|
142
|
-
# @return [String]
|
143
|
-
# Used when giving an inclusive upper bound for the range.
|
144
|
-
# @!attribute [rw] end_value_open
|
145
|
-
# @return [String]
|
146
|
-
# Used when giving an exclusive upper bound for the range.
|
147
|
-
class ValueRange; end
|
148
|
-
|
149
|
-
# Takes a row as input and produces an alternate view of the row based on
|
150
|
-
# specified rules. For example, a RowFilter might trim down a row to include
|
151
|
-
# just the cells from columns matching a given regular expression, or might
|
152
|
-
# return all the cells of a row but not their values. More complicated filters
|
153
|
-
# can be composed out of these components to express requests such as, "within
|
154
|
-
# every column of a particular family, give just the two most recent cells
|
155
|
-
# which are older than timestamp X."
|
156
|
-
#
|
157
|
-
# There are two broad categories of RowFilters (true filters and transformers),
|
158
|
-
# as well as two ways to compose simple filters into more complex ones
|
159
|
-
# (chains and interleaves). They work as follows:
|
160
|
-
#
|
161
|
-
# * True filters alter the input row by excluding some of its cells wholesale
|
162
|
-
# from the output row. An example of a true filter is the `value_regex_filter`,
|
163
|
-
# which excludes cells whose values don't match the specified pattern. All
|
164
|
-
# regex true filters use RE2 syntax (https://github.com/google/re2/wiki/Syntax)
|
165
|
-
# in raw byte mode (RE2::Latin1), and are evaluated as full matches. An
|
166
|
-
# important point to keep in mind is that `RE2(.)` is equivalent by default to
|
167
|
-
# `RE2([^\n])`, meaning that it does not match newlines. When attempting to
|
168
|
-
# match an arbitrary byte, you should therefore use the escape sequence `\C`,
|
169
|
-
# which may need to be further escaped as `\\C` in your client language.
|
170
|
-
#
|
171
|
-
# * Transformers alter the input row by changing the values of some of its
|
172
|
-
# cells in the output, without excluding them completely. Currently, the only
|
173
|
-
# supported transformer is the `strip_value_transformer`, which replaces every
|
174
|
-
# cell's value with the empty string.
|
175
|
-
#
|
176
|
-
# * Chains and interleaves are described in more detail in the
|
177
|
-
# RowFilter.Chain and RowFilter.Interleave documentation.
|
178
|
-
#
|
179
|
-
# The total serialized size of a RowFilter message must not
|
180
|
-
# exceed 4096 bytes, and RowFilters may not be nested within each other
|
181
|
-
# (in Chains or Interleaves) to a depth of more than 20.
|
182
|
-
# @!attribute [rw] chain
|
183
|
-
# @return [Google::Bigtable::V2::RowFilter::Chain]
|
184
|
-
# Applies several RowFilters to the data in sequence, progressively
|
185
|
-
# narrowing the results.
|
186
|
-
# @!attribute [rw] interleave
|
187
|
-
# @return [Google::Bigtable::V2::RowFilter::Interleave]
|
188
|
-
# Applies several RowFilters to the data in parallel and combines the
|
189
|
-
# results.
|
190
|
-
# @!attribute [rw] condition
|
191
|
-
# @return [Google::Bigtable::V2::RowFilter::Condition]
|
192
|
-
# Applies one of two possible RowFilters to the data based on the output of
|
193
|
-
# a predicate RowFilter.
|
194
|
-
# @!attribute [rw] sink
|
195
|
-
# @return [true, false]
|
196
|
-
# ADVANCED USE ONLY.
|
197
|
-
# Hook for introspection into the RowFilter. Outputs all cells directly to
|
198
|
-
# the output of the read rather than to any parent filter. Consider the
|
199
|
-
# following example:
|
200
|
-
#
|
201
|
-
# Chain(
|
202
|
-
# FamilyRegex("A"),
|
203
|
-
# Interleave(
|
204
|
-
# All(),
|
205
|
-
# Chain(Label("foo"), Sink())
|
206
|
-
# ),
|
207
|
-
# QualifierRegex("B")
|
208
|
-
# )
|
209
|
-
#
|
210
|
-
# A,A,1,w
|
211
|
-
# A,B,2,x
|
212
|
-
# B,B,4,z
|
213
|
-
# |
|
214
|
-
# FamilyRegex("A")
|
215
|
-
# |
|
216
|
-
# A,A,1,w
|
217
|
-
# A,B,2,x
|
218
|
-
# |
|
219
|
-
# +------------+-------------+
|
220
|
-
# | |
|
221
|
-
# All() Label(foo)
|
222
|
-
# | |
|
223
|
-
# A,A,1,w A,A,1,w,labels:[foo]
|
224
|
-
# A,B,2,x A,B,2,x,labels:[foo]
|
225
|
-
# | |
|
226
|
-
# | Sink() --------------+
|
227
|
-
# | | |
|
228
|
-
# +------------+ x------+ A,A,1,w,labels:[foo]
|
229
|
-
# | A,B,2,x,labels:[foo]
|
230
|
-
# A,A,1,w |
|
231
|
-
# A,B,2,x |
|
232
|
-
# | |
|
233
|
-
# QualifierRegex("B") |
|
234
|
-
# | |
|
235
|
-
# A,B,2,x |
|
236
|
-
# | |
|
237
|
-
# +--------------------------------+
|
238
|
-
# |
|
239
|
-
# A,A,1,w,labels:[foo]
|
240
|
-
# A,B,2,x,labels:[foo] // could be switched
|
241
|
-
# A,B,2,x // could be switched
|
242
|
-
#
|
243
|
-
# Despite being excluded by the qualifier filter, a copy of every cell
|
244
|
-
# that reaches the sink is present in the final result.
|
245
|
-
#
|
246
|
-
# As with an {Google::Bigtable::V2::RowFilter::Interleave Interleave},
|
247
|
-
# duplicate cells are possible, and appear in an unspecified mutual order.
|
248
|
-
# In this case we have a duplicate with column "A:B" and timestamp 2,
|
249
|
-
# because one copy passed through the all filter while the other was
|
250
|
-
# passed through the label and sink. Note that one copy has label "foo",
|
251
|
-
# while the other does not.
|
252
|
-
#
|
253
|
-
# Cannot be used within the `predicate_filter`, `true_filter`, or
|
254
|
-
# `false_filter` of a {Google::Bigtable::V2::RowFilter::Condition Condition}.
|
255
|
-
# @!attribute [rw] pass_all_filter
|
256
|
-
# @return [true, false]
|
257
|
-
# Matches all cells, regardless of input. Functionally equivalent to
|
258
|
-
# leaving `filter` unset, but included for completeness.
|
259
|
-
# @!attribute [rw] block_all_filter
|
260
|
-
# @return [true, false]
|
261
|
-
# Does not match any cells, regardless of input. Useful for temporarily
|
262
|
-
# disabling just part of a filter.
|
263
|
-
# @!attribute [rw] row_key_regex_filter
|
264
|
-
# @return [String]
|
265
|
-
# Matches only cells from rows whose keys satisfy the given RE2 regex. In
|
266
|
-
# other words, passes through the entire row when the key matches, and
|
267
|
-
# otherwise produces an empty row.
|
268
|
-
# Note that, since row keys can contain arbitrary bytes, the `\C` escape
|
269
|
-
# sequence must be used if a true wildcard is desired. The `.` character
|
270
|
-
# will not match the new line character `\n`, which may be present in a
|
271
|
-
# binary key.
|
272
|
-
# @!attribute [rw] row_sample_filter
|
273
|
-
# @return [Float]
|
274
|
-
# Matches all cells from a row with probability p, and matches no cells
|
275
|
-
# from the row with probability 1-p.
|
276
|
-
# @!attribute [rw] family_name_regex_filter
|
277
|
-
# @return [String]
|
278
|
-
# Matches only cells from columns whose families satisfy the given RE2
|
279
|
-
# regex. For technical reasons, the regex must not contain the `:`
|
280
|
-
# character, even if it is not being used as a literal.
|
281
|
-
# Note that, since column families cannot contain the new line character
|
282
|
-
# `\n`, it is sufficient to use `.` as a full wildcard when matching
|
283
|
-
# column family names.
|
284
|
-
# @!attribute [rw] column_qualifier_regex_filter
|
285
|
-
# @return [String]
|
286
|
-
# Matches only cells from columns whose qualifiers satisfy the given RE2
|
287
|
-
# regex.
|
288
|
-
# Note that, since column qualifiers can contain arbitrary bytes, the `\C`
|
289
|
-
# escape sequence must be used if a true wildcard is desired. The `.`
|
290
|
-
# character will not match the new line character `\n`, which may be
|
291
|
-
# present in a binary qualifier.
|
292
|
-
# @!attribute [rw] column_range_filter
|
293
|
-
# @return [Google::Bigtable::V2::ColumnRange]
|
294
|
-
# Matches only cells from columns within the given range.
|
295
|
-
# @!attribute [rw] timestamp_range_filter
|
296
|
-
# @return [Google::Bigtable::V2::TimestampRange]
|
297
|
-
# Matches only cells with timestamps within the given range.
|
298
|
-
# @!attribute [rw] value_regex_filter
|
299
|
-
# @return [String]
|
300
|
-
# Matches only cells with values that satisfy the given regular expression.
|
301
|
-
# Note that, since cell values can contain arbitrary bytes, the `\C` escape
|
302
|
-
# sequence must be used if a true wildcard is desired. The `.` character
|
303
|
-
# will not match the new line character `\n`, which may be present in a
|
304
|
-
# binary value.
|
305
|
-
# @!attribute [rw] value_range_filter
|
306
|
-
# @return [Google::Bigtable::V2::ValueRange]
|
307
|
-
# Matches only cells with values that fall within the given range.
|
308
|
-
# @!attribute [rw] cells_per_row_offset_filter
|
309
|
-
# @return [Integer]
|
310
|
-
# Skips the first N cells of each row, matching all subsequent cells.
|
311
|
-
# If duplicate cells are present, as is possible when using an Interleave,
|
312
|
-
# each copy of the cell is counted separately.
|
313
|
-
# @!attribute [rw] cells_per_row_limit_filter
|
314
|
-
# @return [Integer]
|
315
|
-
# Matches only the first N cells of each row.
|
316
|
-
# If duplicate cells are present, as is possible when using an Interleave,
|
317
|
-
# each copy of the cell is counted separately.
|
318
|
-
# @!attribute [rw] cells_per_column_limit_filter
|
319
|
-
# @return [Integer]
|
320
|
-
# Matches only the most recent N cells within each column. For example,
|
321
|
-
# if N=2, this filter would match column `foo:bar` at timestamps 10 and 9,
|
322
|
-
# skip all earlier cells in `foo:bar`, and then begin matching again in
|
323
|
-
# column `foo:bar2`.
|
324
|
-
# If duplicate cells are present, as is possible when using an Interleave,
|
325
|
-
# each copy of the cell is counted separately.
|
326
|
-
# @!attribute [rw] strip_value_transformer
|
327
|
-
# @return [true, false]
|
328
|
-
# Replaces each cell's value with the empty string.
|
329
|
-
# @!attribute [rw] apply_label_transformer
|
330
|
-
# @return [String]
|
331
|
-
# Applies the given label to all cells in the output row. This allows
|
332
|
-
# the client to determine which results were produced from which part of
|
333
|
-
# the filter.
|
334
|
-
#
|
335
|
-
# Values must be at most 15 characters in length, and match the RE2
|
336
|
-
# pattern `[a-z0-9\\-]+`
|
337
|
-
#
|
338
|
-
# Due to a technical limitation, it is not currently possible to apply
|
339
|
-
# multiple labels to a cell. As a result, a Chain may have no more than
|
340
|
-
# one sub-filter which contains a `apply_label_transformer`. It is okay for
|
341
|
-
# an Interleave to contain multiple `apply_label_transformers`, as they
|
342
|
-
# will be applied to separate copies of the input. This may be relaxed in
|
343
|
-
# the future.
|
344
|
-
class RowFilter
|
345
|
-
# A RowFilter which sends rows through several RowFilters in sequence.
|
346
|
-
# @!attribute [rw] filters
|
347
|
-
# @return [Array<Google::Bigtable::V2::RowFilter>]
|
348
|
-
# The elements of "filters" are chained together to process the input row:
|
349
|
-
# in row -> f(0) -> intermediate row -> f(1) -> ... -> f(N) -> out row
|
350
|
-
# The full chain is executed atomically.
|
351
|
-
class Chain; end
|
352
|
-
|
353
|
-
# A RowFilter which sends each row to each of several component
|
354
|
-
# RowFilters and interleaves the results.
|
355
|
-
# @!attribute [rw] filters
|
356
|
-
# @return [Array<Google::Bigtable::V2::RowFilter>]
|
357
|
-
# The elements of "filters" all process a copy of the input row, and the
|
358
|
-
# results are pooled, sorted, and combined into a single output row.
|
359
|
-
# If multiple cells are produced with the same column and timestamp,
|
360
|
-
# they will all appear in the output row in an unspecified mutual order.
|
361
|
-
# Consider the following example, with three filters:
|
362
|
-
#
|
363
|
-
# input row
|
364
|
-
# |
|
365
|
-
# -----------------------------------------------------
|
366
|
-
# | | |
|
367
|
-
# f(0) f(1) f(2)
|
368
|
-
# | | |
|
369
|
-
# 1: foo,bar,10,x foo,bar,10,z far,bar,7,a
|
370
|
-
# 2: foo,blah,11,z far,blah,5,x far,blah,5,x
|
371
|
-
# | | |
|
372
|
-
# -----------------------------------------------------
|
373
|
-
# |
|
374
|
-
# 1: foo,bar,10,z // could have switched with #2
|
375
|
-
# 2: foo,bar,10,x // could have switched with #1
|
376
|
-
# 3: foo,blah,11,z
|
377
|
-
# 4: far,bar,7,a
|
378
|
-
# 5: far,blah,5,x // identical to #6
|
379
|
-
# 6: far,blah,5,x // identical to #5
|
380
|
-
#
|
381
|
-
# All interleaved filters are executed atomically.
|
382
|
-
class Interleave; end
|
383
|
-
|
384
|
-
# A RowFilter which evaluates one of two possible RowFilters, depending on
|
385
|
-
# whether or not a predicate RowFilter outputs any cells from the input row.
|
386
|
-
#
|
387
|
-
# IMPORTANT NOTE: The predicate filter does not execute atomically with the
|
388
|
-
# true and false filters, which may lead to inconsistent or unexpected
|
389
|
-
# results. Additionally, Condition filters have poor performance, especially
|
390
|
-
# when filters are set for the false condition.
|
391
|
-
# @!attribute [rw] predicate_filter
|
392
|
-
# @return [Google::Bigtable::V2::RowFilter]
|
393
|
-
# If `predicate_filter` outputs any cells, then `true_filter` will be
|
394
|
-
# evaluated on the input row. Otherwise, `false_filter` will be evaluated.
|
395
|
-
# @!attribute [rw] true_filter
|
396
|
-
# @return [Google::Bigtable::V2::RowFilter]
|
397
|
-
# The filter to apply to the input row if `predicate_filter` returns any
|
398
|
-
# results. If not provided, no results will be returned in the true case.
|
399
|
-
# @!attribute [rw] false_filter
|
400
|
-
# @return [Google::Bigtable::V2::RowFilter]
|
401
|
-
# The filter to apply to the input row if `predicate_filter` does not
|
402
|
-
# return any results. If not provided, no results will be returned in the
|
403
|
-
# false case.
|
404
|
-
class Condition; end
|
405
|
-
end
|
406
|
-
|
407
|
-
# Specifies a particular change to be made to the contents of a row.
|
408
|
-
# @!attribute [rw] set_cell
|
409
|
-
# @return [Google::Bigtable::V2::Mutation::SetCell]
|
410
|
-
# Set a cell's value.
|
411
|
-
# @!attribute [rw] delete_from_column
|
412
|
-
# @return [Google::Bigtable::V2::Mutation::DeleteFromColumn]
|
413
|
-
# Deletes cells from a column.
|
414
|
-
# @!attribute [rw] delete_from_family
|
415
|
-
# @return [Google::Bigtable::V2::Mutation::DeleteFromFamily]
|
416
|
-
# Deletes cells from a column family.
|
417
|
-
# @!attribute [rw] delete_from_row
|
418
|
-
# @return [Google::Bigtable::V2::Mutation::DeleteFromRow]
|
419
|
-
# Deletes cells from the entire row.
|
420
|
-
class Mutation
|
421
|
-
# A Mutation which sets the value of the specified cell.
|
422
|
-
# @!attribute [rw] family_name
|
423
|
-
# @return [String]
|
424
|
-
# The name of the family into which new data should be written.
|
425
|
-
# Must match `[-_.a-zA-Z0-9]+`
|
426
|
-
# @!attribute [rw] column_qualifier
|
427
|
-
# @return [String]
|
428
|
-
# The qualifier of the column into which new data should be written.
|
429
|
-
# Can be any byte string, including the empty string.
|
430
|
-
# @!attribute [rw] timestamp_micros
|
431
|
-
# @return [Integer]
|
432
|
-
# The timestamp of the cell into which new data should be written.
|
433
|
-
# Use -1 for current Bigtable server time.
|
434
|
-
# Otherwise, the client should set this value itself, noting that the
|
435
|
-
# default value is a timestamp of zero if the field is left unspecified.
|
436
|
-
# Values must match the granularity of the table (e.g. micros, millis).
|
437
|
-
# @!attribute [rw] value
|
438
|
-
# @return [String]
|
439
|
-
# The value to be written into the specified cell.
|
440
|
-
class SetCell; end
|
441
|
-
|
442
|
-
# A Mutation which deletes cells from the specified column, optionally
|
443
|
-
# restricting the deletions to a given timestamp range.
|
444
|
-
# @!attribute [rw] family_name
|
445
|
-
# @return [String]
|
446
|
-
# The name of the family from which cells should be deleted.
|
447
|
-
# Must match `[-_.a-zA-Z0-9]+`
|
448
|
-
# @!attribute [rw] column_qualifier
|
449
|
-
# @return [String]
|
450
|
-
# The qualifier of the column from which cells should be deleted.
|
451
|
-
# Can be any byte string, including the empty string.
|
452
|
-
# @!attribute [rw] time_range
|
453
|
-
# @return [Google::Bigtable::V2::TimestampRange]
|
454
|
-
# The range of timestamps within which cells should be deleted.
|
455
|
-
class DeleteFromColumn; end
|
456
|
-
|
457
|
-
# A Mutation which deletes all cells from the specified column family.
|
458
|
-
# @!attribute [rw] family_name
|
459
|
-
# @return [String]
|
460
|
-
# The name of the family from which cells should be deleted.
|
461
|
-
# Must match `[-_.a-zA-Z0-9]+`
|
462
|
-
class DeleteFromFamily; end
|
463
|
-
|
464
|
-
# A Mutation which deletes all cells from the containing row.
|
465
|
-
class DeleteFromRow; end
|
466
|
-
end
|
467
|
-
|
468
|
-
# Specifies an atomic read/modify/write operation on the latest value of the
|
469
|
-
# specified column.
|
470
|
-
# @!attribute [rw] family_name
|
471
|
-
# @return [String]
|
472
|
-
# The name of the family to which the read/modify/write should be applied.
|
473
|
-
# Must match `[-_.a-zA-Z0-9]+`
|
474
|
-
# @!attribute [rw] column_qualifier
|
475
|
-
# @return [String]
|
476
|
-
# The qualifier of the column to which the read/modify/write should be
|
477
|
-
# applied.
|
478
|
-
# Can be any byte string, including the empty string.
|
479
|
-
# @!attribute [rw] append_value
|
480
|
-
# @return [String]
|
481
|
-
# Rule specifying that `append_value` be appended to the existing value.
|
482
|
-
# If the targeted cell is unset, it will be treated as containing the
|
483
|
-
# empty string.
|
484
|
-
# @!attribute [rw] increment_amount
|
485
|
-
# @return [Integer]
|
486
|
-
# Rule specifying that `increment_amount` be added to the existing value.
|
487
|
-
# If the targeted cell is unset, it will be treated as containing a zero.
|
488
|
-
# Otherwise, the targeted cell must contain an 8-byte value (interpreted
|
489
|
-
# as a 64-bit big-endian signed integer), or the entire request will fail.
|
490
|
-
class ReadModifyWriteRule; end
|
491
|
-
end
|
492
|
-
end
|
493
|
-
end
|