google-cloud-bigtable 2.4.1 → 2.6.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/AUTHENTICATION.md +2 -1
- data/CHANGELOG.md +32 -0
- data/CONTRIBUTING.md +2 -3
- data/OVERVIEW.md +1 -1
- data/lib/google/cloud/bigtable/app_profile.rb +20 -21
- data/lib/google/cloud/bigtable/app_profile/job.rb +4 -4
- data/lib/google/cloud/bigtable/app_profile/list.rb +5 -7
- data/lib/google/cloud/bigtable/backup.rb +83 -32
- data/lib/google/cloud/bigtable/backup/job.rb +8 -8
- data/lib/google/cloud/bigtable/backup/list.rb +9 -11
- data/lib/google/cloud/bigtable/cluster.rb +37 -17
- data/lib/google/cloud/bigtable/cluster/job.rb +2 -2
- data/lib/google/cloud/bigtable/column_family.rb +2 -2
- data/lib/google/cloud/bigtable/column_family_map.rb +14 -14
- data/lib/google/cloud/bigtable/column_range.rb +7 -7
- data/lib/google/cloud/bigtable/encryption_info.rb +118 -0
- data/lib/google/cloud/bigtable/gc_rule.rb +20 -20
- data/lib/google/cloud/bigtable/instance.rb +40 -40
- data/lib/google/cloud/bigtable/instance/cluster_map.rb +61 -21
- data/lib/google/cloud/bigtable/instance/job.rb +4 -4
- data/lib/google/cloud/bigtable/mutation_entry.rb +21 -21
- data/lib/google/cloud/bigtable/mutation_operations.rb +34 -34
- data/lib/google/cloud/bigtable/policy.rb +4 -4
- data/lib/google/cloud/bigtable/project.rb +15 -15
- data/lib/google/cloud/bigtable/read_operations.rb +31 -31
- data/lib/google/cloud/bigtable/routing_policy.rb +6 -6
- data/lib/google/cloud/bigtable/row_filter.rb +28 -28
- data/lib/google/cloud/bigtable/row_filter/chain_filter.rb +30 -29
- data/lib/google/cloud/bigtable/row_filter/condition_filter.rb +6 -6
- data/lib/google/cloud/bigtable/row_filter/interleave_filter.rb +27 -26
- data/lib/google/cloud/bigtable/row_range.rb +18 -18
- data/lib/google/cloud/bigtable/sample_row_key.rb +1 -1
- data/lib/google/cloud/bigtable/service.rb +6 -3
- data/lib/google/cloud/bigtable/status.rb +2 -2
- data/lib/google/cloud/bigtable/table.rb +66 -43
- data/lib/google/cloud/bigtable/table/cluster_state.rb +43 -9
- data/lib/google/cloud/bigtable/table/list.rb +2 -2
- data/lib/google/cloud/bigtable/table/restore_job.rb +12 -12
- data/lib/google/cloud/bigtable/value_range.rb +18 -18
- data/lib/google/cloud/bigtable/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81a641fcf7c94e068213a96b5ebc6c9694cf87367ca83c9672a70a08620fcfae
|
4
|
+
data.tar.gz: 76079a26712e7c3854cd1b21d519948964465154f7f4fcc779700924e1eb3e3d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6daa16efede84fa797bd7d7b440e3a0cd36eb886611a73e68d2fb6c488a1db1ac81ddad61f8261fcc7e6fb2111a4bcc5e0f5a3d54004cd75f2c46e8e65aa53da
|
7
|
+
data.tar.gz: 0e86c2513212dde4e9732b4437a89af59d75068e954c52c7b821a2e9527fee8429cb1e4ebec422f33f496fb2bebe7eacbd1a0dc919542deb105cd67948f57315
|
data/AUTHENTICATION.md
CHANGED
@@ -95,7 +95,8 @@ client = Google::Cloud::Bigtable.new
|
|
95
95
|
|
96
96
|
### Configuration
|
97
97
|
|
98
|
-
The **Project ID** and **Credentials JSON** can be configured
|
98
|
+
The **Project ID** and the path to the **Credentials JSON** file can be configured
|
99
|
+
instead of placing them in environment variables or providing them as arguments.
|
99
100
|
|
100
101
|
```ruby
|
101
102
|
require "google/cloud/bigtable"
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,37 @@
|
|
1
1
|
# Release History
|
2
2
|
|
3
|
+
### 2.6.2 / 2021-08-02
|
4
|
+
|
5
|
+
#### Documentation
|
6
|
+
|
7
|
+
* Update inline doc samples to match library code style
|
8
|
+
|
9
|
+
### 2.6.1 / 2021-07-08
|
10
|
+
|
11
|
+
#### Documentation
|
12
|
+
|
13
|
+
* Update AUTHENTICATION.md in handwritten packages
|
14
|
+
|
15
|
+
### 2.6.0 / 2021-05-03
|
16
|
+
|
17
|
+
#### Features
|
18
|
+
|
19
|
+
* Add support for Backup restore to different Instance
|
20
|
+
* Add instance to Backup#restore
|
21
|
+
|
22
|
+
### 2.5.0 / 2021-04-20
|
23
|
+
|
24
|
+
#### Features
|
25
|
+
|
26
|
+
* Add CMEK support
|
27
|
+
* Add kms_key to ClusterMap#add
|
28
|
+
* Add Cluster#kms_key
|
29
|
+
* Add EncryptionInfo
|
30
|
+
* Add ClusterState#encryption_infos
|
31
|
+
* Add ENCRYPTION_VIEW support to Table
|
32
|
+
* Update docs in Table::ClusterState
|
33
|
+
* Add Backup#encryption_info
|
34
|
+
|
3
35
|
### 2.4.1 / 2021-04-01
|
4
36
|
|
5
37
|
#### Bug Fixes
|
data/CONTRIBUTING.md
CHANGED
@@ -119,15 +119,14 @@ If you alter an example's title, you may encounter breaking tests.
|
|
119
119
|
### Bigtable Acceptance Tests
|
120
120
|
|
121
121
|
The Bigtable acceptance tests interact with the live service API. Follow the
|
122
|
-
instructions in the {file:AUTHENTICATION.md Authentication
|
122
|
+
instructions in the {file:AUTHENTICATION.md Authentication Guide} for enabling
|
123
123
|
the Bigtable API. Occasionally, some API features may not yet be generally
|
124
124
|
available, making it difficult for some contributors to successfully run the
|
125
125
|
entire acceptance test suite. However, please ensure that you do successfully
|
126
126
|
run acceptance tests for any code areas covered by your pull request.
|
127
127
|
|
128
128
|
To run the acceptance tests, first create and configure a project in the Google
|
129
|
-
Developers Console, as described in the {file:AUTHENTICATION.md Authentication
|
130
|
-
guide}. Be sure to download the JSON KEY file. Make note of the PROJECT_ID and
|
129
|
+
Developers Console, as described in the {file:AUTHENTICATION.md Authentication Guide}. Be sure to download the JSON KEY file. Make note of the PROJECT_ID and
|
131
130
|
the KEYFILE location on your system.
|
132
131
|
|
133
132
|
Before you can run the Bigtable acceptance tests, you must first create indexes
|
data/OVERVIEW.md
CHANGED
@@ -396,5 +396,5 @@ instance.delete
|
|
396
396
|
## Additional information
|
397
397
|
|
398
398
|
Google Bigtable can be configured to use an emulator or to enable gRPC's
|
399
|
-
logging. To learn more, see the {file:EMULATOR.md Emulator guide} and
|
399
|
+
logging. To learn more, see the {file:EMULATOR.md Emulator guide}} and
|
400
400
|
{file:LOGGING.md Logging guide}.
|
@@ -33,9 +33,9 @@ module Google
|
|
33
33
|
#
|
34
34
|
# bigtable = Google::Cloud::Bigtable.new
|
35
35
|
#
|
36
|
-
# instance = bigtable.instance
|
36
|
+
# instance = bigtable.instance "my-instance"
|
37
37
|
#
|
38
|
-
# app_profile = instance.app_profile
|
38
|
+
# app_profile = instance.app_profile "my-app-profile"
|
39
39
|
#
|
40
40
|
# # Update
|
41
41
|
# app_profile.description = "User data instance app profile"
|
@@ -172,8 +172,8 @@ module Google
|
|
172
172
|
# require "google/cloud/bigtable"
|
173
173
|
#
|
174
174
|
# bigtable = Google::Cloud::Bigtable.new
|
175
|
-
# instance = bigtable.instance
|
176
|
-
# app_profile = instance.app_profile
|
175
|
+
# instance = bigtable.instance "my-instance"
|
176
|
+
# app_profile = instance.app_profile "my-app-profile"
|
177
177
|
#
|
178
178
|
# routing_policy = Google::Cloud::Bigtable::AppProfile.multi_cluster_routing
|
179
179
|
# app_profile.routing_policy = routing_policy
|
@@ -182,11 +182,11 @@ module Google
|
|
182
182
|
# require "google/cloud/bigtable"
|
183
183
|
#
|
184
184
|
# bigtable = Google::Cloud::Bigtable.new
|
185
|
-
# instance = bigtable.instance
|
186
|
-
# app_profile = instance.app_profile
|
185
|
+
# instance = bigtable.instance "my-instance"
|
186
|
+
# app_profile = instance.app_profile "my-app-profile"
|
187
187
|
#
|
188
188
|
# routing_policy = Google::Cloud::Bigtable::AppProfile.single_cluster_routing(
|
189
|
-
# "my-
|
189
|
+
# "my-cluster",
|
190
190
|
# allow_transactional_writes: true
|
191
191
|
# )
|
192
192
|
# app_profile.routing_policy = routing_policy
|
@@ -225,7 +225,7 @@ module Google
|
|
225
225
|
#
|
226
226
|
# bigtable = Google::Cloud::Bigtable.new
|
227
227
|
#
|
228
|
-
# instance = bigtable.instance
|
228
|
+
# instance = bigtable.instance "my-instance"
|
229
229
|
#
|
230
230
|
# routing_policy = Google::Cloud::Bigtable::AppProfile.multi_cluster_routing
|
231
231
|
#
|
@@ -253,11 +253,11 @@ module Google
|
|
253
253
|
#
|
254
254
|
# bigtable = Google::Cloud::Bigtable.new
|
255
255
|
#
|
256
|
-
# instance = bigtable.instance
|
256
|
+
# instance = bigtable.instance "my-instance"
|
257
257
|
#
|
258
|
-
# app_profile = instance.app_profile
|
258
|
+
# app_profile = instance.app_profile "my-app-profile"
|
259
259
|
#
|
260
|
-
# app_profile.delete
|
260
|
+
# app_profile.delete ignore_warnings: true # Ignore warnings.
|
261
261
|
#
|
262
262
|
# # OR : Not ignoring warnings
|
263
263
|
# app_profile.delete
|
@@ -281,20 +281,19 @@ module Google
|
|
281
281
|
#
|
282
282
|
# bigtable = Google::Cloud::Bigtable.new
|
283
283
|
#
|
284
|
-
# instance = bigtable.instance
|
284
|
+
# instance = bigtable.instance "my-instance"
|
285
285
|
#
|
286
|
-
# app_profile = instance.app_profile
|
286
|
+
# app_profile = instance.app_profile "my-app-profile"
|
287
287
|
#
|
288
288
|
# app_profile.description = "User data instance app profile"
|
289
|
-
# app_profile.routing_policy =
|
290
|
-
# Google::Cloud::Bigtable::AppProfile.multi_cluster_routing
|
289
|
+
# app_profile.routing_policy = Google::Cloud::Bigtable::AppProfile.multi_cluster_routing
|
291
290
|
#
|
292
291
|
# job = app_profile.save
|
293
292
|
# job.wait_until_done!
|
294
293
|
# if job.error?
|
295
294
|
# puts job.error
|
296
295
|
# else
|
297
|
-
# puts "App profile successfully
|
296
|
+
# puts "App profile successfully updated."
|
298
297
|
# app_profile = job.app_profile
|
299
298
|
# end
|
300
299
|
#
|
@@ -303,8 +302,8 @@ module Google
|
|
303
302
|
#
|
304
303
|
# bigtable = Google::Cloud::Bigtable.new
|
305
304
|
#
|
306
|
-
# instance = bigtable.instance
|
307
|
-
# app_profile = instance.app_profile
|
305
|
+
# instance = bigtable.instance "my-instance"
|
306
|
+
# app_profile = instance.app_profile "my-app-profile"
|
308
307
|
#
|
309
308
|
# app_profile.description = "User data instance app profile"
|
310
309
|
# routing_policy = Google::Cloud::Bigtable::AppProfile.single_cluster_routing(
|
@@ -360,7 +359,7 @@ module Google
|
|
360
359
|
#
|
361
360
|
# bigtable = Google::Cloud::Bigtable.new
|
362
361
|
#
|
363
|
-
# instance = bigtable.instance
|
362
|
+
# instance = bigtable.instance "my-instance"
|
364
363
|
#
|
365
364
|
# routing_policy = Google::Cloud::Bigtable::AppProfile.multi_cluster_routing
|
366
365
|
#
|
@@ -396,10 +395,10 @@ module Google
|
|
396
395
|
#
|
397
396
|
# bigtable = Google::Cloud::Bigtable.new
|
398
397
|
#
|
399
|
-
# instance = bigtable.instance
|
398
|
+
# instance = bigtable.instance "my-instance"
|
400
399
|
#
|
401
400
|
# routing_policy = Google::Cloud::Bigtable::AppProfile.single_cluster_routing(
|
402
|
-
# "my-
|
401
|
+
# "my-cluster",
|
403
402
|
# allow_transactional_writes: true
|
404
403
|
# )
|
405
404
|
#
|
@@ -34,8 +34,8 @@ module Google
|
|
34
34
|
#
|
35
35
|
# bigtable = Google::Cloud::Bigtable.new
|
36
36
|
#
|
37
|
-
# instance = bigtable.instance
|
38
|
-
# app_profile = instance.app_profile
|
37
|
+
# instance = bigtable.instance "my-instance"
|
38
|
+
# app_profile = instance.app_profile "my-app-profile"
|
39
39
|
#
|
40
40
|
# app_profile.description = "User data instance app profile"
|
41
41
|
# routing_policy = Google::Cloud::Bigtable::AppProfile.single_cluster_routing(
|
@@ -71,8 +71,8 @@ module Google
|
|
71
71
|
#
|
72
72
|
# bigtable = Google::Cloud::Bigtable.new
|
73
73
|
#
|
74
|
-
# instance = bigtable.instance
|
75
|
-
# app_profile = instance.app_profile
|
74
|
+
# instance = bigtable.instance "my-instance"
|
75
|
+
# app_profile = instance.app_profile "my-app-profile"
|
76
76
|
#
|
77
77
|
# app_profile.description = "User data instance app profile"
|
78
78
|
# routing_policy = Google::Cloud::Bigtable::AppProfile.single_cluster_routing(
|
@@ -47,7 +47,7 @@ module Google
|
|
47
47
|
#
|
48
48
|
# bigtable = Google::Cloud::Bigtable.new
|
49
49
|
#
|
50
|
-
# instance = bigtable.instance
|
50
|
+
# instance = bigtable.instance "my-instance"
|
51
51
|
# app_profiles = instance.app_profiles
|
52
52
|
#
|
53
53
|
# if app_profiles.next?
|
@@ -68,7 +68,7 @@ module Google
|
|
68
68
|
#
|
69
69
|
# bigtable = Google::Cloud::Bigtable.new
|
70
70
|
#
|
71
|
-
# instance = bigtable.instance
|
71
|
+
# instance = bigtable.instance "my-instance"
|
72
72
|
# app_profiles = instance.app_profiles
|
73
73
|
#
|
74
74
|
# if app_profiles.next?
|
@@ -104,7 +104,7 @@ module Google
|
|
104
104
|
#
|
105
105
|
# bigtable = Google::Cloud::Bigtable.new
|
106
106
|
#
|
107
|
-
# instance = bigtable.instance
|
107
|
+
# instance = bigtable.instance "my-instance"
|
108
108
|
# app_profiles = instance.app_profiles
|
109
109
|
#
|
110
110
|
# instance.app_profiles.all do |app_profile|
|
@@ -116,11 +116,9 @@ module Google
|
|
116
116
|
#
|
117
117
|
# bigtable = Google::Cloud::Bigtable.new
|
118
118
|
#
|
119
|
-
# instance = bigtable.instance
|
119
|
+
# instance = bigtable.instance "my-instance"
|
120
120
|
#
|
121
|
-
# all_app_profile_ids = instance.app_profiles.all.map
|
122
|
-
# app_profile.name
|
123
|
-
# end
|
121
|
+
# all_app_profile_ids = instance.app_profiles.all.map(&:name)
|
124
122
|
#
|
125
123
|
def all &block
|
126
124
|
return enum_for :all unless block_given?
|
@@ -18,10 +18,10 @@
|
|
18
18
|
require "google/cloud/bigtable/backup/job"
|
19
19
|
require "google/cloud/bigtable/backup/list"
|
20
20
|
require "google/cloud/bigtable/convert"
|
21
|
+
require "google/cloud/bigtable/encryption_info"
|
21
22
|
require "google/cloud/bigtable/policy"
|
22
23
|
require "google/cloud/bigtable/table/restore_job"
|
23
24
|
|
24
|
-
|
25
25
|
module Google
|
26
26
|
module Cloud
|
27
27
|
module Bigtable
|
@@ -34,10 +34,10 @@ module Google
|
|
34
34
|
# require "google/cloud/bigtable"
|
35
35
|
#
|
36
36
|
# bigtable = Google::Cloud::Bigtable.new
|
37
|
-
# instance = bigtable.instance
|
38
|
-
# cluster = instance.cluster
|
37
|
+
# instance = bigtable.instance "my-instance"
|
38
|
+
# cluster = instance.cluster "my-cluster"
|
39
39
|
#
|
40
|
-
# backup = cluster.backup
|
40
|
+
# backup = cluster.backup "my-backup"
|
41
41
|
#
|
42
42
|
# # Update
|
43
43
|
# backup.expire_time = Time.now + 60 * 60 * 7
|
@@ -207,6 +207,27 @@ module Google
|
|
207
207
|
state == :READY
|
208
208
|
end
|
209
209
|
|
210
|
+
##
|
211
|
+
# The encryption information for the backup. See also {Instance::ClusterMap#add}.
|
212
|
+
#
|
213
|
+
# @return [Google::Cloud::Bigtable::EncryptionInfo] The encryption information for the backup.
|
214
|
+
#
|
215
|
+
# @example
|
216
|
+
# require "google/cloud/bigtable"
|
217
|
+
#
|
218
|
+
# bigtable = Google::Cloud::Bigtable.new
|
219
|
+
# instance = bigtable.instance "my-instance"
|
220
|
+
# cluster = instance.cluster "my-cluster"
|
221
|
+
#
|
222
|
+
# backup = cluster.backup "my-backup"
|
223
|
+
#
|
224
|
+
# encryption_info = backup.encryption_info
|
225
|
+
# encryption_info.encryption_type #=> :GOOGLE_DEFAULT_ENCRYPTION
|
226
|
+
#
|
227
|
+
def encryption_info
|
228
|
+
EncryptionInfo.from_grpc @grpc.encryption_info
|
229
|
+
end
|
230
|
+
|
210
231
|
##
|
211
232
|
# Gets the [Cloud IAM](https://cloud.google.com/iam/) access control
|
212
233
|
# policy for the backup.
|
@@ -226,10 +247,10 @@ module Google
|
|
226
247
|
# require "google/cloud/bigtable"
|
227
248
|
#
|
228
249
|
# bigtable = Google::Cloud::Bigtable.new
|
229
|
-
# instance = bigtable.instance
|
230
|
-
# cluster = instance.cluster
|
250
|
+
# instance = bigtable.instance "my-instance"
|
251
|
+
# cluster = instance.cluster "my-cluster"
|
231
252
|
#
|
232
|
-
# backup = cluster.backup
|
253
|
+
# backup = cluster.backup "my-backup"
|
233
254
|
#
|
234
255
|
# policy = backup.policy
|
235
256
|
#
|
@@ -237,13 +258,13 @@ module Google
|
|
237
258
|
# require "google/cloud/bigtable"
|
238
259
|
#
|
239
260
|
# bigtable = Google::Cloud::Bigtable.new
|
240
|
-
# instance = bigtable.instance
|
241
|
-
# cluster = instance.cluster
|
261
|
+
# instance = bigtable.instance "my-instance"
|
262
|
+
# cluster = instance.cluster "my-cluster"
|
242
263
|
#
|
243
|
-
# backup = cluster.backup
|
264
|
+
# backup = cluster.backup "my-backup"
|
244
265
|
#
|
245
266
|
# backup.policy do |p|
|
246
|
-
# p.add
|
267
|
+
# p.add "roles/owner", "user:owner@example.com"
|
247
268
|
# end # 2 API calls
|
248
269
|
#
|
249
270
|
def policy
|
@@ -273,14 +294,14 @@ module Google
|
|
273
294
|
# require "google/cloud/bigtable"
|
274
295
|
#
|
275
296
|
# bigtable = Google::Cloud::Bigtable.new
|
276
|
-
# instance = bigtable.instance
|
277
|
-
# cluster = instance.cluster
|
297
|
+
# instance = bigtable.instance "my-instance"
|
298
|
+
# cluster = instance.cluster "my-cluster"
|
278
299
|
#
|
279
|
-
# backup = cluster.backup
|
300
|
+
# backup = cluster.backup "my-backup"
|
280
301
|
#
|
281
302
|
# policy = backup.policy
|
282
|
-
# policy.add
|
283
|
-
# updated_policy = backup.update_policy
|
303
|
+
# policy.add "roles/owner", "user:owner@example.com"
|
304
|
+
# updated_policy = backup.update_policy policy
|
284
305
|
#
|
285
306
|
# puts updated_policy.roles
|
286
307
|
#
|
@@ -309,10 +330,10 @@ module Google
|
|
309
330
|
# require "google/cloud/bigtable"
|
310
331
|
#
|
311
332
|
# bigtable = Google::Cloud::Bigtable.new
|
312
|
-
# instance = bigtable.instance
|
313
|
-
# cluster = instance.cluster
|
333
|
+
# instance = bigtable.instance "my-instance"
|
334
|
+
# cluster = instance.cluster "my-cluster"
|
314
335
|
#
|
315
|
-
# backup = cluster.backup
|
336
|
+
# backup = cluster.backup "my-backup"
|
316
337
|
#
|
317
338
|
# permissions = backup.test_iam_permissions(
|
318
339
|
# "bigtable.backups.delete",
|
@@ -328,9 +349,12 @@ module Google
|
|
328
349
|
end
|
329
350
|
|
330
351
|
##
|
331
|
-
# Creates a new table by restoring from a completed backup.
|
352
|
+
# Creates a new table by restoring data from a completed backup. The new table may be created in an instance
|
353
|
+
# different than that of the backup.
|
332
354
|
#
|
333
355
|
# @param table_id [String] The table ID for the new table. This table must not yet exist. Required.
|
356
|
+
# @param instance [Instance, String] The instance or the ID of the instance for the new table, if different from
|
357
|
+
# the instance of the backup. Optional.
|
334
358
|
#
|
335
359
|
# @return [Google::Cloud::Bigtable::Table::RestoreJob] The job representing the long-running, asynchronous
|
336
360
|
# processing of a backup restore table operation.
|
@@ -339,12 +363,34 @@ module Google
|
|
339
363
|
# require "google/cloud/bigtable"
|
340
364
|
#
|
341
365
|
# bigtable = Google::Cloud::Bigtable.new
|
342
|
-
# instance = bigtable.instance
|
343
|
-
# cluster = instance.cluster
|
366
|
+
# instance = bigtable.instance "my-instance"
|
367
|
+
# cluster = instance.cluster "my-cluster"
|
368
|
+
#
|
369
|
+
# backup = cluster.backup "my-backup"
|
370
|
+
#
|
371
|
+
# job = backup.restore "my-new-table"
|
372
|
+
#
|
373
|
+
# job.wait_until_done!
|
374
|
+
# job.done? #=> true
|
375
|
+
#
|
376
|
+
# if job.error?
|
377
|
+
# status = job.error
|
378
|
+
# else
|
379
|
+
# table = job.table
|
380
|
+
# optimized = job.optimize_table_operation_name
|
381
|
+
# end
|
382
|
+
#
|
383
|
+
# @example Create the table in a different instance.
|
384
|
+
# require "google/cloud/bigtable"
|
385
|
+
#
|
386
|
+
# bigtable = Google::Cloud::Bigtable.new
|
387
|
+
# instance = bigtable.instance "my-instance"
|
388
|
+
# cluster = instance.cluster "my-cluster"
|
344
389
|
#
|
345
|
-
# backup = cluster.backup
|
390
|
+
# backup = cluster.backup "my-backup"
|
346
391
|
#
|
347
|
-
#
|
392
|
+
# table_instance = bigtable.instance "my-other-instance"
|
393
|
+
# job = backup.restore "my-new-table", instance: table_instance
|
348
394
|
#
|
349
395
|
# job.wait_until_done!
|
350
396
|
# job.done? #=> true
|
@@ -356,8 +402,13 @@ module Google
|
|
356
402
|
# optimized = job.optimize_table_operation_name
|
357
403
|
# end
|
358
404
|
#
|
359
|
-
def restore table_id
|
360
|
-
|
405
|
+
def restore table_id, instance: nil
|
406
|
+
table_instance_id = instance.respond_to?(:instance_id) ? instance.instance_id : instance
|
407
|
+
grpc = service.restore_table table_id,
|
408
|
+
instance_id,
|
409
|
+
cluster_id,
|
410
|
+
backup_id,
|
411
|
+
table_instance_id: table_instance_id
|
361
412
|
Table::RestoreJob.from_grpc grpc, service
|
362
413
|
end
|
363
414
|
|
@@ -372,10 +423,10 @@ module Google
|
|
372
423
|
# require "google/cloud/bigtable"
|
373
424
|
#
|
374
425
|
# bigtable = Google::Cloud::Bigtable.new
|
375
|
-
# instance = bigtable.instance
|
376
|
-
# cluster = instance.cluster
|
426
|
+
# instance = bigtable.instance "my-instance"
|
427
|
+
# cluster = instance.cluster "my-cluster"
|
377
428
|
#
|
378
|
-
# backup = cluster.backup
|
429
|
+
# backup = cluster.backup "my-backup"
|
379
430
|
#
|
380
431
|
# # Update
|
381
432
|
# backup.expire_time = Time.now + 60 * 60 * 7
|
@@ -407,10 +458,10 @@ module Google
|
|
407
458
|
# require "google/cloud/bigtable"
|
408
459
|
#
|
409
460
|
# bigtable = Google::Cloud::Bigtable.new
|
410
|
-
# instance = bigtable.instance
|
411
|
-
# cluster = instance.cluster
|
461
|
+
# instance = bigtable.instance "my-instance"
|
462
|
+
# cluster = instance.cluster "my-cluster"
|
412
463
|
#
|
413
|
-
# backup = cluster.backup
|
464
|
+
# backup = cluster.backup "my-backup"
|
414
465
|
#
|
415
466
|
# backup.delete
|
416
467
|
#
|