google-cloud-bigtable-v2 0.7.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/google/bigtable/v2/bigtable_pb.rb +71 -0
- data/lib/google/bigtable/v2/bigtable_services_pb.rb +10 -0
- data/lib/google/bigtable/v2/data_pb.rb +13 -0
- data/lib/google/cloud/bigtable/v2/bigtable/client.rb +278 -37
- data/lib/google/cloud/bigtable/v2/bigtable.rb +1 -1
- data/lib/google/cloud/bigtable/v2/version.rb +1 -1
- data/lib/google/cloud/bigtable/v2.rb +2 -2
- data/proto_docs/google/api/client.rb +318 -0
- data/proto_docs/google/api/launch_stage.rb +71 -0
- data/proto_docs/google/bigtable/v2/bigtable.rb +257 -23
- data/proto_docs/google/bigtable/v2/data.rb +36 -0
- data/proto_docs/google/protobuf/timestamp.rb +129 -0
- data/proto_docs/google/rpc/status.rb +4 -2
- metadata +10 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4cfc6e05ad85852561ba6aa5d53d5fe73c273f2e0dde7703f6c63802af275ff9
|
4
|
+
data.tar.gz: a5b32e4d889b81242c3622f883fb117e81d26a911064c6ebd64b6f03f0287c3c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 73c03468e20fd6ea4e9306cf304018635bc55d1caf8e3e878be7298155a5d01bbefd7a0535012a89ee19cc1b896cb94bfd7c26892276d1bbb7d9b9fc01891432
|
7
|
+
data.tar.gz: 3c1710b480304d76b52a0e7552851f59ab0edc03dfa23c069bae7bf3a698292dc91dee244c69c26b52af25cd10933a99c3d958fb477b5a537fa2ed1001561ea0
|
data/README.md
CHANGED
@@ -46,7 +46,7 @@ for general usage information.
|
|
46
46
|
## Enabling Logging
|
47
47
|
|
48
48
|
To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
|
49
|
-
The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/
|
49
|
+
The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/current/stdlibs/logger/Logger.html) as shown below,
|
50
50
|
or a [`Google::Cloud::Logging::Logger`](https://googleapis.dev/ruby/google-cloud-logging/latest)
|
51
51
|
that will write logs to [Cloud Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
|
52
52
|
and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
|
@@ -10,6 +10,8 @@ require 'google/api/resource_pb'
|
|
10
10
|
require 'google/api/routing_pb'
|
11
11
|
require 'google/bigtable/v2/data_pb'
|
12
12
|
require 'google/bigtable/v2/request_stats_pb'
|
13
|
+
require 'google/protobuf/duration_pb'
|
14
|
+
require 'google/protobuf/timestamp_pb'
|
13
15
|
require 'google/protobuf/wrappers_pb'
|
14
16
|
require 'google/rpc/status_pb'
|
15
17
|
|
@@ -104,6 +106,65 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
104
106
|
add_message "google.bigtable.v2.ReadModifyWriteRowResponse" do
|
105
107
|
optional :row, :message, 1, "google.bigtable.v2.Row"
|
106
108
|
end
|
109
|
+
add_message "google.bigtable.v2.GenerateInitialChangeStreamPartitionsRequest" do
|
110
|
+
optional :table_name, :string, 1
|
111
|
+
optional :app_profile_id, :string, 2
|
112
|
+
end
|
113
|
+
add_message "google.bigtable.v2.GenerateInitialChangeStreamPartitionsResponse" do
|
114
|
+
optional :partition, :message, 1, "google.bigtable.v2.StreamPartition"
|
115
|
+
end
|
116
|
+
add_message "google.bigtable.v2.ReadChangeStreamRequest" do
|
117
|
+
optional :table_name, :string, 1
|
118
|
+
optional :app_profile_id, :string, 2
|
119
|
+
optional :partition, :message, 3, "google.bigtable.v2.StreamPartition"
|
120
|
+
optional :end_time, :message, 5, "google.protobuf.Timestamp"
|
121
|
+
optional :heartbeat_duration, :message, 7, "google.protobuf.Duration"
|
122
|
+
oneof :start_from do
|
123
|
+
optional :start_time, :message, 4, "google.protobuf.Timestamp"
|
124
|
+
optional :continuation_tokens, :message, 6, "google.bigtable.v2.StreamContinuationTokens"
|
125
|
+
end
|
126
|
+
end
|
127
|
+
add_message "google.bigtable.v2.ReadChangeStreamResponse" do
|
128
|
+
oneof :stream_record do
|
129
|
+
optional :data_change, :message, 1, "google.bigtable.v2.ReadChangeStreamResponse.DataChange"
|
130
|
+
optional :heartbeat, :message, 2, "google.bigtable.v2.ReadChangeStreamResponse.Heartbeat"
|
131
|
+
optional :close_stream, :message, 3, "google.bigtable.v2.ReadChangeStreamResponse.CloseStream"
|
132
|
+
end
|
133
|
+
end
|
134
|
+
add_message "google.bigtable.v2.ReadChangeStreamResponse.MutationChunk" do
|
135
|
+
optional :chunk_info, :message, 1, "google.bigtable.v2.ReadChangeStreamResponse.MutationChunk.ChunkInfo"
|
136
|
+
optional :mutation, :message, 2, "google.bigtable.v2.Mutation"
|
137
|
+
end
|
138
|
+
add_message "google.bigtable.v2.ReadChangeStreamResponse.MutationChunk.ChunkInfo" do
|
139
|
+
optional :chunked_value_size, :int32, 1
|
140
|
+
optional :chunked_value_offset, :int32, 2
|
141
|
+
optional :last_chunk, :bool, 3
|
142
|
+
end
|
143
|
+
add_message "google.bigtable.v2.ReadChangeStreamResponse.DataChange" do
|
144
|
+
optional :type, :enum, 1, "google.bigtable.v2.ReadChangeStreamResponse.DataChange.Type"
|
145
|
+
optional :source_cluster_id, :string, 2
|
146
|
+
optional :row_key, :bytes, 3
|
147
|
+
optional :commit_timestamp, :message, 4, "google.protobuf.Timestamp"
|
148
|
+
optional :tiebreaker, :int32, 5
|
149
|
+
repeated :chunks, :message, 6, "google.bigtable.v2.ReadChangeStreamResponse.MutationChunk"
|
150
|
+
optional :done, :bool, 8
|
151
|
+
optional :token, :string, 9
|
152
|
+
optional :estimated_low_watermark, :message, 10, "google.protobuf.Timestamp"
|
153
|
+
end
|
154
|
+
add_enum "google.bigtable.v2.ReadChangeStreamResponse.DataChange.Type" do
|
155
|
+
value :TYPE_UNSPECIFIED, 0
|
156
|
+
value :USER, 1
|
157
|
+
value :GARBAGE_COLLECTION, 2
|
158
|
+
value :CONTINUATION, 3
|
159
|
+
end
|
160
|
+
add_message "google.bigtable.v2.ReadChangeStreamResponse.Heartbeat" do
|
161
|
+
optional :continuation_token, :message, 1, "google.bigtable.v2.StreamContinuationToken"
|
162
|
+
optional :estimated_low_watermark, :message, 2, "google.protobuf.Timestamp"
|
163
|
+
end
|
164
|
+
add_message "google.bigtable.v2.ReadChangeStreamResponse.CloseStream" do
|
165
|
+
optional :status, :message, 1, "google.rpc.Status"
|
166
|
+
repeated :continuation_tokens, :message, 2, "google.bigtable.v2.StreamContinuationToken"
|
167
|
+
end
|
107
168
|
end
|
108
169
|
end
|
109
170
|
|
@@ -129,6 +190,16 @@ module Google
|
|
129
190
|
PingAndWarmResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.PingAndWarmResponse").msgclass
|
130
191
|
ReadModifyWriteRowRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.ReadModifyWriteRowRequest").msgclass
|
131
192
|
ReadModifyWriteRowResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.ReadModifyWriteRowResponse").msgclass
|
193
|
+
GenerateInitialChangeStreamPartitionsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.GenerateInitialChangeStreamPartitionsRequest").msgclass
|
194
|
+
GenerateInitialChangeStreamPartitionsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.GenerateInitialChangeStreamPartitionsResponse").msgclass
|
195
|
+
ReadChangeStreamRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.ReadChangeStreamRequest").msgclass
|
196
|
+
ReadChangeStreamResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.ReadChangeStreamResponse").msgclass
|
197
|
+
ReadChangeStreamResponse::MutationChunk = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.ReadChangeStreamResponse.MutationChunk").msgclass
|
198
|
+
ReadChangeStreamResponse::MutationChunk::ChunkInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.ReadChangeStreamResponse.MutationChunk.ChunkInfo").msgclass
|
199
|
+
ReadChangeStreamResponse::DataChange = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.ReadChangeStreamResponse.DataChange").msgclass
|
200
|
+
ReadChangeStreamResponse::DataChange::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.ReadChangeStreamResponse.DataChange.Type").enummodule
|
201
|
+
ReadChangeStreamResponse::Heartbeat = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.ReadChangeStreamResponse.Heartbeat").msgclass
|
202
|
+
ReadChangeStreamResponse::CloseStream = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.ReadChangeStreamResponse.CloseStream").msgclass
|
132
203
|
end
|
133
204
|
end
|
134
205
|
end
|
@@ -62,6 +62,16 @@ module Google
|
|
62
62
|
# timestamp is the greater of the existing timestamp or the current server
|
63
63
|
# time. The method returns the new contents of all modified cells.
|
64
64
|
rpc :ReadModifyWriteRow, ::Google::Cloud::Bigtable::V2::ReadModifyWriteRowRequest, ::Google::Cloud::Bigtable::V2::ReadModifyWriteRowResponse
|
65
|
+
# NOTE: This API is intended to be used by Apache Beam BigtableIO.
|
66
|
+
# Returns the current list of partitions that make up the table's
|
67
|
+
# change stream. The union of partitions will cover the entire keyspace.
|
68
|
+
# Partitions can be read with `ReadChangeStream`.
|
69
|
+
rpc :GenerateInitialChangeStreamPartitions, ::Google::Cloud::Bigtable::V2::GenerateInitialChangeStreamPartitionsRequest, stream(::Google::Cloud::Bigtable::V2::GenerateInitialChangeStreamPartitionsResponse)
|
70
|
+
# NOTE: This API is intended to be used by Apache Beam BigtableIO.
|
71
|
+
# Reads changes from a table's change stream. Changes will
|
72
|
+
# reflect both user-initiated mutations and mutations that are caused by
|
73
|
+
# garbage collection.
|
74
|
+
rpc :ReadChangeStream, ::Google::Cloud::Bigtable::V2::ReadChangeStreamRequest, stream(::Google::Cloud::Bigtable::V2::ReadChangeStreamResponse)
|
65
75
|
end
|
66
76
|
|
67
77
|
Stub = Service.rpc_stub_class
|
@@ -127,6 +127,16 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
127
127
|
optional :increment_amount, :int64, 4
|
128
128
|
end
|
129
129
|
end
|
130
|
+
add_message "google.bigtable.v2.StreamPartition" do
|
131
|
+
optional :row_range, :message, 1, "google.bigtable.v2.RowRange"
|
132
|
+
end
|
133
|
+
add_message "google.bigtable.v2.StreamContinuationTokens" do
|
134
|
+
repeated :tokens, :message, 1, "google.bigtable.v2.StreamContinuationToken"
|
135
|
+
end
|
136
|
+
add_message "google.bigtable.v2.StreamContinuationToken" do
|
137
|
+
optional :partition, :message, 1, "google.bigtable.v2.StreamPartition"
|
138
|
+
optional :token, :string, 2
|
139
|
+
end
|
130
140
|
end
|
131
141
|
end
|
132
142
|
|
@@ -153,6 +163,9 @@ module Google
|
|
153
163
|
Mutation::DeleteFromFamily = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Mutation.DeleteFromFamily").msgclass
|
154
164
|
Mutation::DeleteFromRow = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.Mutation.DeleteFromRow").msgclass
|
155
165
|
ReadModifyWriteRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.ReadModifyWriteRule").msgclass
|
166
|
+
StreamPartition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.StreamPartition").msgclass
|
167
|
+
StreamContinuationTokens = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.StreamContinuationTokens").msgclass
|
168
|
+
StreamContinuationToken = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.bigtable.v2.StreamContinuationToken").msgclass
|
156
169
|
end
|
157
170
|
end
|
158
171
|
end
|
@@ -79,6 +79,10 @@ module Google
|
|
79
79
|
|
80
80
|
default_config.rpcs.read_modify_write_row.timeout = 20.0
|
81
81
|
|
82
|
+
default_config.rpcs.generate_initial_change_stream_partitions.timeout = 60.0
|
83
|
+
|
84
|
+
default_config.rpcs.read_change_stream.timeout = 43_200.0
|
85
|
+
|
82
86
|
default_config
|
83
87
|
end
|
84
88
|
yield @configure if block_given?
|
@@ -217,13 +221,13 @@ module Google
|
|
217
221
|
# # Create a request. To set request fields, pass in keyword arguments.
|
218
222
|
# request = Google::Cloud::Bigtable::V2::ReadRowsRequest.new
|
219
223
|
#
|
220
|
-
# # Call the read_rows method.
|
221
|
-
#
|
224
|
+
# # Call the read_rows method to start streaming.
|
225
|
+
# output = client.read_rows request
|
222
226
|
#
|
223
|
-
# # The returned object is a streamed enumerable yielding elements of
|
224
|
-
# #
|
225
|
-
#
|
226
|
-
# p
|
227
|
+
# # The returned object is a streamed enumerable yielding elements of type
|
228
|
+
# # ::Google::Cloud::Bigtable::V2::ReadRowsResponse
|
229
|
+
# output.each do |current_response|
|
230
|
+
# p current_response
|
227
231
|
# end
|
228
232
|
#
|
229
233
|
def read_rows request, options = nil
|
@@ -317,13 +321,13 @@ module Google
|
|
317
321
|
# # Create a request. To set request fields, pass in keyword arguments.
|
318
322
|
# request = Google::Cloud::Bigtable::V2::SampleRowKeysRequest.new
|
319
323
|
#
|
320
|
-
# # Call the sample_row_keys method.
|
321
|
-
#
|
324
|
+
# # Call the sample_row_keys method to start streaming.
|
325
|
+
# output = client.sample_row_keys request
|
322
326
|
#
|
323
|
-
# # The returned object is a streamed enumerable yielding elements of
|
324
|
-
# #
|
325
|
-
#
|
326
|
-
# p
|
327
|
+
# # The returned object is a streamed enumerable yielding elements of type
|
328
|
+
# # ::Google::Cloud::Bigtable::V2::SampleRowKeysResponse
|
329
|
+
# output.each do |current_response|
|
330
|
+
# p current_response
|
327
331
|
# end
|
328
332
|
#
|
329
333
|
def sample_row_keys request, options = nil
|
@@ -391,8 +395,8 @@ module Google
|
|
391
395
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
392
396
|
#
|
393
397
|
# @param table_name [::String]
|
394
|
-
# Required. The unique name of the table to which the mutation should be
|
395
|
-
# Values are of the form
|
398
|
+
# Required. The unique name of the table to which the mutation should be
|
399
|
+
# applied. Values are of the form
|
396
400
|
# `projects/<project>/instances/<instance>/tables/<table>`.
|
397
401
|
# @param app_profile_id [::String]
|
398
402
|
# This value specifies routing for replication. If not specified, the
|
@@ -400,9 +404,9 @@ module Google
|
|
400
404
|
# @param row_key [::String]
|
401
405
|
# Required. The key of the row to which the mutation should be applied.
|
402
406
|
# @param mutations [::Array<::Google::Cloud::Bigtable::V2::Mutation, ::Hash>]
|
403
|
-
# Required. Changes to be atomically applied to the specified row. Entries
|
404
|
-
# in order, meaning that earlier mutations can be masked by later
|
405
|
-
# Must contain at least one entry and at most 100000.
|
407
|
+
# Required. Changes to be atomically applied to the specified row. Entries
|
408
|
+
# are applied in order, meaning that earlier mutations can be masked by later
|
409
|
+
# ones. Must contain at least one entry and at most 100000.
|
406
410
|
#
|
407
411
|
# @yield [response, operation] Access the result along with the RPC operation
|
408
412
|
# @yieldparam response [::Google::Cloud::Bigtable::V2::MutateRowResponse]
|
@@ -493,7 +497,8 @@ module Google
|
|
493
497
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
494
498
|
#
|
495
499
|
# @param table_name [::String]
|
496
|
-
# Required. The unique name of the table to which the mutations should be
|
500
|
+
# Required. The unique name of the table to which the mutations should be
|
501
|
+
# applied.
|
497
502
|
# @param app_profile_id [::String]
|
498
503
|
# This value specifies routing for replication. If not specified, the
|
499
504
|
# "default" application profile will be used.
|
@@ -521,13 +526,13 @@ module Google
|
|
521
526
|
# # Create a request. To set request fields, pass in keyword arguments.
|
522
527
|
# request = Google::Cloud::Bigtable::V2::MutateRowsRequest.new
|
523
528
|
#
|
524
|
-
# # Call the mutate_rows method.
|
525
|
-
#
|
529
|
+
# # Call the mutate_rows method to start streaming.
|
530
|
+
# output = client.mutate_rows request
|
526
531
|
#
|
527
|
-
# # The returned object is a streamed enumerable yielding elements of
|
528
|
-
# #
|
529
|
-
#
|
530
|
-
# p
|
532
|
+
# # The returned object is a streamed enumerable yielding elements of type
|
533
|
+
# # ::Google::Cloud::Bigtable::V2::MutateRowsResponse
|
534
|
+
# output.each do |current_response|
|
535
|
+
# p current_response
|
531
536
|
# end
|
532
537
|
#
|
533
538
|
def mutate_rows request, options = nil
|
@@ -594,15 +599,15 @@ module Google
|
|
594
599
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
595
600
|
#
|
596
601
|
# @param table_name [::String]
|
597
|
-
# Required. The unique name of the table to which the conditional mutation
|
598
|
-
# applied.
|
599
|
-
# Values are of the form
|
602
|
+
# Required. The unique name of the table to which the conditional mutation
|
603
|
+
# should be applied. Values are of the form
|
600
604
|
# `projects/<project>/instances/<instance>/tables/<table>`.
|
601
605
|
# @param app_profile_id [::String]
|
602
606
|
# This value specifies routing for replication. If not specified, the
|
603
607
|
# "default" application profile will be used.
|
604
608
|
# @param row_key [::String]
|
605
|
-
# Required. The key of the row to which the conditional mutation should be
|
609
|
+
# Required. The key of the row to which the conditional mutation should be
|
610
|
+
# applied.
|
606
611
|
# @param predicate_filter [::Google::Cloud::Bigtable::V2::RowFilter, ::Hash]
|
607
612
|
# The filter to be applied to the contents of the specified row. Depending
|
608
613
|
# on whether or not any results are yielded, either `true_mutations` or
|
@@ -709,8 +714,9 @@ module Google
|
|
709
714
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
710
715
|
#
|
711
716
|
# @param name [::String]
|
712
|
-
# Required. The unique name of the instance to check permissions for as well
|
713
|
-
# respond. Values are of the form
|
717
|
+
# Required. The unique name of the instance to check permissions for as well
|
718
|
+
# as respond. Values are of the form
|
719
|
+
# `projects/<project>/instances/<instance>`.
|
714
720
|
# @param app_profile_id [::String]
|
715
721
|
# This value specifies routing for replication. If not specified, the
|
716
722
|
# "default" application profile will be used.
|
@@ -806,19 +812,19 @@ module Google
|
|
806
812
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
807
813
|
#
|
808
814
|
# @param table_name [::String]
|
809
|
-
# Required. The unique name of the table to which the read/modify/write rules
|
810
|
-
# applied.
|
811
|
-
# Values are of the form
|
815
|
+
# Required. The unique name of the table to which the read/modify/write rules
|
816
|
+
# should be applied. Values are of the form
|
812
817
|
# `projects/<project>/instances/<instance>/tables/<table>`.
|
813
818
|
# @param app_profile_id [::String]
|
814
819
|
# This value specifies routing for replication. If not specified, the
|
815
820
|
# "default" application profile will be used.
|
816
821
|
# @param row_key [::String]
|
817
|
-
# Required. The key of the row to which the read/modify/write rules should be
|
822
|
+
# Required. The key of the row to which the read/modify/write rules should be
|
823
|
+
# applied.
|
818
824
|
# @param rules [::Array<::Google::Cloud::Bigtable::V2::ReadModifyWriteRule, ::Hash>]
|
819
|
-
# Required. Rules specifying how the specified row's contents are to be
|
820
|
-
# into writes. Entries are applied in order, meaning that earlier
|
821
|
-
# affect the results of later ones.
|
825
|
+
# Required. Rules specifying how the specified row's contents are to be
|
826
|
+
# transformed into writes. Entries are applied in order, meaning that earlier
|
827
|
+
# rules will affect the results of later ones.
|
822
828
|
#
|
823
829
|
# @yield [response, operation] Access the result along with the RPC operation
|
824
830
|
# @yieldparam response [::Google::Cloud::Bigtable::V2::ReadModifyWriteRowResponse]
|
@@ -888,6 +894,227 @@ module Google
|
|
888
894
|
raise ::Google::Cloud::Error.from_error(e)
|
889
895
|
end
|
890
896
|
|
897
|
+
##
|
898
|
+
# NOTE: This API is intended to be used by Apache Beam BigtableIO.
|
899
|
+
# Returns the current list of partitions that make up the table's
|
900
|
+
# change stream. The union of partitions will cover the entire keyspace.
|
901
|
+
# Partitions can be read with `ReadChangeStream`.
|
902
|
+
#
|
903
|
+
# @overload generate_initial_change_stream_partitions(request, options = nil)
|
904
|
+
# Pass arguments to `generate_initial_change_stream_partitions` via a request object, either of type
|
905
|
+
# {::Google::Cloud::Bigtable::V2::GenerateInitialChangeStreamPartitionsRequest} or an equivalent Hash.
|
906
|
+
#
|
907
|
+
# @param request [::Google::Cloud::Bigtable::V2::GenerateInitialChangeStreamPartitionsRequest, ::Hash]
|
908
|
+
# A request object representing the call parameters. Required. To specify no
|
909
|
+
# parameters, or to keep all the default parameter values, pass an empty Hash.
|
910
|
+
# @param options [::Gapic::CallOptions, ::Hash]
|
911
|
+
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
|
912
|
+
#
|
913
|
+
# @overload generate_initial_change_stream_partitions(table_name: nil, app_profile_id: nil)
|
914
|
+
# Pass arguments to `generate_initial_change_stream_partitions` via keyword arguments. Note that at
|
915
|
+
# least one keyword argument is required. To specify no parameters, or to keep all
|
916
|
+
# the default parameter values, pass an empty Hash as a request object (see above).
|
917
|
+
#
|
918
|
+
# @param table_name [::String]
|
919
|
+
# Required. The unique name of the table from which to get change stream
|
920
|
+
# partitions. Values are of the form
|
921
|
+
# `projects/<project>/instances/<instance>/tables/<table>`.
|
922
|
+
# Change streaming must be enabled on the table.
|
923
|
+
# @param app_profile_id [::String]
|
924
|
+
# This value specifies routing for replication. If not specified, the
|
925
|
+
# "default" application profile will be used.
|
926
|
+
# Single cluster routing must be configured on the profile.
|
927
|
+
#
|
928
|
+
# @yield [response, operation] Access the result along with the RPC operation
|
929
|
+
# @yieldparam response [::Enumerable<::Google::Cloud::Bigtable::V2::GenerateInitialChangeStreamPartitionsResponse>]
|
930
|
+
# @yieldparam operation [::GRPC::ActiveCall::Operation]
|
931
|
+
#
|
932
|
+
# @return [::Enumerable<::Google::Cloud::Bigtable::V2::GenerateInitialChangeStreamPartitionsResponse>]
|
933
|
+
#
|
934
|
+
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
935
|
+
#
|
936
|
+
# @example Basic example
|
937
|
+
# require "google/cloud/bigtable/v2"
|
938
|
+
#
|
939
|
+
# # Create a client object. The client can be reused for multiple calls.
|
940
|
+
# client = Google::Cloud::Bigtable::V2::Bigtable::Client.new
|
941
|
+
#
|
942
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
943
|
+
# request = Google::Cloud::Bigtable::V2::GenerateInitialChangeStreamPartitionsRequest.new
|
944
|
+
#
|
945
|
+
# # Call the generate_initial_change_stream_partitions method to start streaming.
|
946
|
+
# output = client.generate_initial_change_stream_partitions request
|
947
|
+
#
|
948
|
+
# # The returned object is a streamed enumerable yielding elements of type
|
949
|
+
# # ::Google::Cloud::Bigtable::V2::GenerateInitialChangeStreamPartitionsResponse
|
950
|
+
# output.each do |current_response|
|
951
|
+
# p current_response
|
952
|
+
# end
|
953
|
+
#
|
954
|
+
def generate_initial_change_stream_partitions request, options = nil
|
955
|
+
raise ::ArgumentError, "request must be provided" if request.nil?
|
956
|
+
|
957
|
+
request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Bigtable::V2::GenerateInitialChangeStreamPartitionsRequest
|
958
|
+
|
959
|
+
# Converts hash and nil to an options object
|
960
|
+
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
|
961
|
+
|
962
|
+
# Customize the options with defaults
|
963
|
+
metadata = @config.rpcs.generate_initial_change_stream_partitions.metadata.to_h
|
964
|
+
|
965
|
+
# Set x-goog-api-client and x-goog-user-project headers
|
966
|
+
metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
|
967
|
+
lib_name: @config.lib_name, lib_version: @config.lib_version,
|
968
|
+
gapic_version: ::Google::Cloud::Bigtable::V2::VERSION
|
969
|
+
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
970
|
+
|
971
|
+
header_params = {}
|
972
|
+
if request.table_name
|
973
|
+
header_params["table_name"] = request.table_name
|
974
|
+
end
|
975
|
+
|
976
|
+
request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
977
|
+
metadata[:"x-goog-request-params"] ||= request_params_header
|
978
|
+
|
979
|
+
options.apply_defaults timeout: @config.rpcs.generate_initial_change_stream_partitions.timeout,
|
980
|
+
metadata: metadata,
|
981
|
+
retry_policy: @config.rpcs.generate_initial_change_stream_partitions.retry_policy
|
982
|
+
|
983
|
+
options.apply_defaults timeout: @config.timeout,
|
984
|
+
metadata: @config.metadata,
|
985
|
+
retry_policy: @config.retry_policy
|
986
|
+
|
987
|
+
@bigtable_stub.call_rpc :generate_initial_change_stream_partitions, request, options: options do |response, operation|
|
988
|
+
yield response, operation if block_given?
|
989
|
+
return response
|
990
|
+
end
|
991
|
+
rescue ::GRPC::BadStatus => e
|
992
|
+
raise ::Google::Cloud::Error.from_error(e)
|
993
|
+
end
|
994
|
+
|
995
|
+
##
|
996
|
+
# NOTE: This API is intended to be used by Apache Beam BigtableIO.
|
997
|
+
# Reads changes from a table's change stream. Changes will
|
998
|
+
# reflect both user-initiated mutations and mutations that are caused by
|
999
|
+
# garbage collection.
|
1000
|
+
#
|
1001
|
+
# @overload read_change_stream(request, options = nil)
|
1002
|
+
# Pass arguments to `read_change_stream` via a request object, either of type
|
1003
|
+
# {::Google::Cloud::Bigtable::V2::ReadChangeStreamRequest} or an equivalent Hash.
|
1004
|
+
#
|
1005
|
+
# @param request [::Google::Cloud::Bigtable::V2::ReadChangeStreamRequest, ::Hash]
|
1006
|
+
# A request object representing the call parameters. Required. To specify no
|
1007
|
+
# parameters, or to keep all the default parameter values, pass an empty Hash.
|
1008
|
+
# @param options [::Gapic::CallOptions, ::Hash]
|
1009
|
+
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
|
1010
|
+
#
|
1011
|
+
# @overload read_change_stream(table_name: nil, app_profile_id: nil, partition: nil, start_time: nil, continuation_tokens: nil, end_time: nil, heartbeat_duration: nil)
|
1012
|
+
# Pass arguments to `read_change_stream` via keyword arguments. Note that at
|
1013
|
+
# least one keyword argument is required. To specify no parameters, or to keep all
|
1014
|
+
# the default parameter values, pass an empty Hash as a request object (see above).
|
1015
|
+
#
|
1016
|
+
# @param table_name [::String]
|
1017
|
+
# Required. The unique name of the table from which to read a change stream.
|
1018
|
+
# Values are of the form
|
1019
|
+
# `projects/<project>/instances/<instance>/tables/<table>`.
|
1020
|
+
# Change streaming must be enabled on the table.
|
1021
|
+
# @param app_profile_id [::String]
|
1022
|
+
# This value specifies routing for replication. If not specified, the
|
1023
|
+
# "default" application profile will be used.
|
1024
|
+
# Single cluster routing must be configured on the profile.
|
1025
|
+
# @param partition [::Google::Cloud::Bigtable::V2::StreamPartition, ::Hash]
|
1026
|
+
# The partition to read changes from.
|
1027
|
+
# @param start_time [::Google::Protobuf::Timestamp, ::Hash]
|
1028
|
+
# Start reading the stream at the specified timestamp. This timestamp must
|
1029
|
+
# be within the change stream retention period, less than or equal to the
|
1030
|
+
# current time, and after change stream creation, whichever is greater.
|
1031
|
+
# This value is inclusive and will be truncated to microsecond granularity.
|
1032
|
+
# @param continuation_tokens [::Google::Cloud::Bigtable::V2::StreamContinuationTokens, ::Hash]
|
1033
|
+
# Tokens that describe how to resume reading a stream where reading
|
1034
|
+
# previously left off. If specified, changes will be read starting at the
|
1035
|
+
# the position. Tokens are delivered on the stream as part of `Heartbeat`
|
1036
|
+
# and `CloseStream` messages.
|
1037
|
+
#
|
1038
|
+
# If a single token is provided, the token’s partition must exactly match
|
1039
|
+
# the request’s partition. If multiple tokens are provided, as in the case
|
1040
|
+
# of a partition merge, the union of the token partitions must exactly
|
1041
|
+
# cover the request’s partition. Otherwise, INVALID_ARGUMENT will be
|
1042
|
+
# returned.
|
1043
|
+
# @param end_time [::Google::Protobuf::Timestamp, ::Hash]
|
1044
|
+
# If specified, OK will be returned when the stream advances beyond
|
1045
|
+
# this time. Otherwise, changes will be continuously delivered on the stream.
|
1046
|
+
# This value is inclusive and will be truncated to microsecond granularity.
|
1047
|
+
# @param heartbeat_duration [::Google::Protobuf::Duration, ::Hash]
|
1048
|
+
# If specified, the duration between `Heartbeat` messages on the stream.
|
1049
|
+
# Otherwise, defaults to 5 seconds.
|
1050
|
+
#
|
1051
|
+
# @yield [response, operation] Access the result along with the RPC operation
|
1052
|
+
# @yieldparam response [::Enumerable<::Google::Cloud::Bigtable::V2::ReadChangeStreamResponse>]
|
1053
|
+
# @yieldparam operation [::GRPC::ActiveCall::Operation]
|
1054
|
+
#
|
1055
|
+
# @return [::Enumerable<::Google::Cloud::Bigtable::V2::ReadChangeStreamResponse>]
|
1056
|
+
#
|
1057
|
+
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
1058
|
+
#
|
1059
|
+
# @example Basic example
|
1060
|
+
# require "google/cloud/bigtable/v2"
|
1061
|
+
#
|
1062
|
+
# # Create a client object. The client can be reused for multiple calls.
|
1063
|
+
# client = Google::Cloud::Bigtable::V2::Bigtable::Client.new
|
1064
|
+
#
|
1065
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
1066
|
+
# request = Google::Cloud::Bigtable::V2::ReadChangeStreamRequest.new
|
1067
|
+
#
|
1068
|
+
# # Call the read_change_stream method to start streaming.
|
1069
|
+
# output = client.read_change_stream request
|
1070
|
+
#
|
1071
|
+
# # The returned object is a streamed enumerable yielding elements of type
|
1072
|
+
# # ::Google::Cloud::Bigtable::V2::ReadChangeStreamResponse
|
1073
|
+
# output.each do |current_response|
|
1074
|
+
# p current_response
|
1075
|
+
# end
|
1076
|
+
#
|
1077
|
+
def read_change_stream request, options = nil
|
1078
|
+
raise ::ArgumentError, "request must be provided" if request.nil?
|
1079
|
+
|
1080
|
+
request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Bigtable::V2::ReadChangeStreamRequest
|
1081
|
+
|
1082
|
+
# Converts hash and nil to an options object
|
1083
|
+
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
|
1084
|
+
|
1085
|
+
# Customize the options with defaults
|
1086
|
+
metadata = @config.rpcs.read_change_stream.metadata.to_h
|
1087
|
+
|
1088
|
+
# Set x-goog-api-client and x-goog-user-project headers
|
1089
|
+
metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
|
1090
|
+
lib_name: @config.lib_name, lib_version: @config.lib_version,
|
1091
|
+
gapic_version: ::Google::Cloud::Bigtable::V2::VERSION
|
1092
|
+
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
1093
|
+
|
1094
|
+
header_params = {}
|
1095
|
+
if request.table_name
|
1096
|
+
header_params["table_name"] = request.table_name
|
1097
|
+
end
|
1098
|
+
|
1099
|
+
request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
1100
|
+
metadata[:"x-goog-request-params"] ||= request_params_header
|
1101
|
+
|
1102
|
+
options.apply_defaults timeout: @config.rpcs.read_change_stream.timeout,
|
1103
|
+
metadata: metadata,
|
1104
|
+
retry_policy: @config.rpcs.read_change_stream.retry_policy
|
1105
|
+
|
1106
|
+
options.apply_defaults timeout: @config.timeout,
|
1107
|
+
metadata: @config.metadata,
|
1108
|
+
retry_policy: @config.retry_policy
|
1109
|
+
|
1110
|
+
@bigtable_stub.call_rpc :read_change_stream, request, options: options do |response, operation|
|
1111
|
+
yield response, operation if block_given?
|
1112
|
+
return response
|
1113
|
+
end
|
1114
|
+
rescue ::GRPC::BadStatus => e
|
1115
|
+
raise ::Google::Cloud::Error.from_error(e)
|
1116
|
+
end
|
1117
|
+
|
891
1118
|
##
|
892
1119
|
# Configuration class for the Bigtable API.
|
893
1120
|
#
|
@@ -1058,6 +1285,16 @@ module Google
|
|
1058
1285
|
# @return [::Gapic::Config::Method]
|
1059
1286
|
#
|
1060
1287
|
attr_reader :read_modify_write_row
|
1288
|
+
##
|
1289
|
+
# RPC-specific configuration for `generate_initial_change_stream_partitions`
|
1290
|
+
# @return [::Gapic::Config::Method]
|
1291
|
+
#
|
1292
|
+
attr_reader :generate_initial_change_stream_partitions
|
1293
|
+
##
|
1294
|
+
# RPC-specific configuration for `read_change_stream`
|
1295
|
+
# @return [::Gapic::Config::Method]
|
1296
|
+
#
|
1297
|
+
attr_reader :read_change_stream
|
1061
1298
|
|
1062
1299
|
# @private
|
1063
1300
|
def initialize parent_rpcs = nil
|
@@ -1075,6 +1312,10 @@ module Google
|
|
1075
1312
|
@ping_and_warm = ::Gapic::Config::Method.new ping_and_warm_config
|
1076
1313
|
read_modify_write_row_config = parent_rpcs.read_modify_write_row if parent_rpcs.respond_to? :read_modify_write_row
|
1077
1314
|
@read_modify_write_row = ::Gapic::Config::Method.new read_modify_write_row_config
|
1315
|
+
generate_initial_change_stream_partitions_config = parent_rpcs.generate_initial_change_stream_partitions if parent_rpcs.respond_to? :generate_initial_change_stream_partitions
|
1316
|
+
@generate_initial_change_stream_partitions = ::Gapic::Config::Method.new generate_initial_change_stream_partitions_config
|
1317
|
+
read_change_stream_config = parent_rpcs.read_change_stream if parent_rpcs.respond_to? :read_change_stream
|
1318
|
+
@read_change_stream = ::Gapic::Config::Method.new read_change_stream_config
|
1078
1319
|
|
1079
1320
|
yield self if block_given?
|
1080
1321
|
end
|
@@ -33,7 +33,7 @@ module Google
|
|
33
33
|
##
|
34
34
|
# Service for reading from and writing to existing Bigtable tables.
|
35
35
|
#
|
36
|
-
#
|
36
|
+
# @example Load this service and instantiate a gRPC client
|
37
37
|
#
|
38
38
|
# require "google/cloud/bigtable/v2/bigtable"
|
39
39
|
# client = ::Google::Cloud::Bigtable::V2::Bigtable::Client.new
|
@@ -23,9 +23,9 @@ module Google
|
|
23
23
|
module Cloud
|
24
24
|
module Bigtable
|
25
25
|
##
|
26
|
-
#
|
26
|
+
# API client module.
|
27
27
|
#
|
28
|
-
# @example
|
28
|
+
# @example Load this package, including all its services, and instantiate a gRPC client
|
29
29
|
#
|
30
30
|
# require "google/cloud/bigtable/v2"
|
31
31
|
# client = ::Google::Cloud::Bigtable::V2::Bigtable::Client.new
|