Class: Google::Cloud::Bigtable::Admin::V2::BigtableTableAdminClient
- Inherits:
-
Object
- Object
- Google::Cloud::Bigtable::Admin::V2::BigtableTableAdminClient
- Defined in:
- lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb
Overview
Service for creating, configuring, and deleting Cloud Bigtable tables.
Provides access to the table schemas only, not the data stored within the tables.
Constant Summary collapse
- SERVICE_ADDRESS =
The default address of the service.
"bigtableadmin.googleapis.com".freeze
- DEFAULT_SERVICE_PORT =
The default port of the service.
443
- GRPC_INTERCEPTORS =
The default set of gRPC interceptors.
[]
- DEFAULT_TIMEOUT =
30
- ALL_SCOPES =
The scopes needed to make gRPC calls to all of the methods defined in this service.
[ "https://www.googleapis.com/auth/bigtable.admin", "https://www.googleapis.com/auth/bigtable.admin.cluster", "https://www.googleapis.com/auth/bigtable.admin.instance", "https://www.googleapis.com/auth/bigtable.admin.table", "https://www.googleapis.com/auth/cloud-bigtable.admin", "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster", "https://www.googleapis.com/auth/cloud-bigtable.admin.table", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only" ].freeze
Class Method Summary collapse
-
.cluster_path(project, instance, cluster) ⇒ String
Returns a fully-qualified cluster resource name string.
-
.instance_path(project, instance) ⇒ String
Returns a fully-qualified instance resource name string.
-
.snapshot_path(project, instance, cluster, snapshot) ⇒ String
Returns a fully-qualified snapshot resource name string.
-
.table_path(project, instance, table) ⇒ String
Returns a fully-qualified table resource name string.
Instance Method Summary collapse
-
#check_consistency(name, consistency_token, options: nil) {|result, operation| ... } ⇒ Google::Bigtable::Admin::V2::CheckConsistencyResponse
Checks replication consistency based on a consistency token, that is, if replication has caught up based on the conditions specified in the token and the check request.
-
#create_table(parent, table_id, table, initial_splits: nil, options: nil) {|result, operation| ... } ⇒ Google::Bigtable::Admin::V2::Table
Creates a new table in the specified instance.
-
#create_table_from_snapshot(parent, table_id, source_snapshot, options: nil) ⇒ Google::Gax::Operation
Creates a new table from the specified snapshot.
-
#delete_snapshot(name, options: nil) {|result, operation| ... } ⇒ Object
Permanently deletes the specified snapshot.
-
#delete_table(name, options: nil) {|result, operation| ... } ⇒ Object
Permanently deletes a specified table and all of its data.
-
#drop_row_range(name, row_key_prefix: nil, delete_all_data_from_table: nil, options: nil) {|result, operation| ... } ⇒ Object
Permanently drop/delete a row range from a specified table.
-
#generate_consistency_token(name, options: nil) {|result, operation| ... } ⇒ Google::Bigtable::Admin::V2::GenerateConsistencyTokenResponse
Generates a consistency token for a Table, which can be used in CheckConsistency to check whether mutations to the table that finished before this call started have been replicated.
-
#get_snapshot(name, options: nil) {|result, operation| ... } ⇒ Google::Bigtable::Admin::V2::Snapshot
Gets metadata information about the specified snapshot.
-
#get_table(name, view: nil, options: nil) {|result, operation| ... } ⇒ Google::Bigtable::Admin::V2::Table
Gets metadata information about the specified table.
-
#initialize(credentials: nil, scopes: ALL_SCOPES, client_config: {}, timeout: DEFAULT_TIMEOUT, metadata: nil, exception_transformer: nil, lib_name: nil, lib_version: "") ⇒ BigtableTableAdminClient
constructor
A new instance of BigtableTableAdminClient.
-
#list_snapshots(parent, page_size: nil, options: nil) {|result, operation| ... } ⇒ Google::Gax::PagedEnumerable<Google::Bigtable::Admin::V2::Snapshot>
Lists all snapshots associated with the specified cluster.
-
#list_tables(parent, view: nil, page_size: nil, options: nil) {|result, operation| ... } ⇒ Google::Gax::PagedEnumerable<Google::Bigtable::Admin::V2::Table>
Lists all tables served from a specified instance.
-
#modify_column_families(name, modifications, options: nil) {|result, operation| ... } ⇒ Google::Bigtable::Admin::V2::Table
Performs a series of column family modifications on the specified table.
-
#snapshot_table(name, cluster, snapshot_id, description, ttl: nil, options: nil) ⇒ Google::Gax::Operation
Creates a new snapshot in the specified cluster from the specified source table.
Constructor Details
#initialize(credentials: nil, scopes: ALL_SCOPES, client_config: {}, timeout: DEFAULT_TIMEOUT, metadata: nil, exception_transformer: nil, lib_name: nil, lib_version: "") ⇒ BigtableTableAdminClient
Returns a new instance of BigtableTableAdminClient.
199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 |
# File 'lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb', line 199 def initialize \ credentials: nil, scopes: ALL_SCOPES, client_config: {}, timeout: DEFAULT_TIMEOUT, metadata: nil, exception_transformer: nil, lib_name: nil, lib_version: "" # These require statements are intentionally placed here to initialize # the gRPC module only when it's required. # See https://github.com/googleapis/toolkit/issues/446 require "google/gax/grpc" require "google/bigtable/admin/v2/bigtable_table_admin_services_pb" credentials ||= Google::Cloud::Bigtable::Admin::V2::Credentials.default @operations_client = OperationsClient.new( credentials: credentials, scopes: scopes, client_config: client_config, timeout: timeout, lib_name: lib_name, lib_version: lib_version, ) if credentials.is_a?(String) || credentials.is_a?(Hash) updater_proc = Google::Cloud::Bigtable::Admin::V2::Credentials.new(credentials).updater_proc end if credentials.is_a?(GRPC::Core::Channel) channel = credentials end if credentials.is_a?(GRPC::Core::ChannelCredentials) chan_creds = credentials end if credentials.is_a?(Proc) updater_proc = credentials end if credentials.is_a?(Google::Auth::Credentials) updater_proc = credentials.updater_proc end package_version = Gem.loaded_specs['google-cloud-bigtable'].version.version google_api_client = "gl-ruby/#{RUBY_VERSION}" google_api_client << " #{lib_name}/#{lib_version}" if lib_name google_api_client << " gapic/#{package_version} gax/#{Google::Gax::VERSION}" google_api_client << " grpc/#{GRPC::VERSION}" google_api_client.freeze headers = { :"x-goog-api-client" => google_api_client } headers.merge!() unless .nil? client_config_file = Pathname.new(__dir__).join( "bigtable_table_admin_client_config.json" ) defaults = client_config_file.open do |f| Google::Gax.construct_settings( "google.bigtable.admin.v2.BigtableTableAdmin", JSON.parse(f.read), client_config, Google::Gax::Grpc::STATUS_CODE_NAMES, timeout, page_descriptors: PAGE_DESCRIPTORS, errors: Google::Gax::Grpc::API_ERRORS, metadata: headers ) end # Allow overriding the service path/port in subclasses. service_path = self.class::SERVICE_ADDRESS port = self.class::DEFAULT_SERVICE_PORT interceptors = self.class::GRPC_INTERCEPTORS @bigtable_table_admin_stub = Google::Gax::Grpc.create_stub( service_path, port, chan_creds: chan_creds, channel: channel, updater_proc: updater_proc, scopes: scopes, interceptors: interceptors, &Google::Bigtable::Admin::V2::BigtableTableAdmin::Stub.method(:new) ) @create_table = Google::Gax.create_api_call( @bigtable_table_admin_stub.method(:create_table), defaults["create_table"], exception_transformer: exception_transformer, params_extractor: proc do |request| {'parent' => request.parent} end ) @create_table_from_snapshot = Google::Gax.create_api_call( @bigtable_table_admin_stub.method(:create_table_from_snapshot), defaults["create_table_from_snapshot"], exception_transformer: exception_transformer, params_extractor: proc do |request| {'parent' => request.parent} end ) @list_tables = Google::Gax.create_api_call( @bigtable_table_admin_stub.method(:list_tables), defaults["list_tables"], exception_transformer: exception_transformer, params_extractor: proc do |request| {'parent' => request.parent} end ) @get_table = Google::Gax.create_api_call( @bigtable_table_admin_stub.method(:get_table), defaults["get_table"], exception_transformer: exception_transformer, params_extractor: proc do |request| {'name' => request.name} end ) @delete_table = Google::Gax.create_api_call( @bigtable_table_admin_stub.method(:delete_table), defaults["delete_table"], exception_transformer: exception_transformer, params_extractor: proc do |request| {'name' => request.name} end ) @modify_column_families = Google::Gax.create_api_call( @bigtable_table_admin_stub.method(:modify_column_families), defaults["modify_column_families"], exception_transformer: exception_transformer, params_extractor: proc do |request| {'name' => request.name} end ) @drop_row_range = Google::Gax.create_api_call( @bigtable_table_admin_stub.method(:drop_row_range), defaults["drop_row_range"], exception_transformer: exception_transformer, params_extractor: proc do |request| {'name' => request.name} end ) @generate_consistency_token = Google::Gax.create_api_call( @bigtable_table_admin_stub.method(:generate_consistency_token), defaults["generate_consistency_token"], exception_transformer: exception_transformer, params_extractor: proc do |request| {'name' => request.name} end ) @check_consistency = Google::Gax.create_api_call( @bigtable_table_admin_stub.method(:check_consistency), defaults["check_consistency"], exception_transformer: exception_transformer, params_extractor: proc do |request| {'name' => request.name} end ) @snapshot_table = Google::Gax.create_api_call( @bigtable_table_admin_stub.method(:snapshot_table), defaults["snapshot_table"], exception_transformer: exception_transformer, params_extractor: proc do |request| {'name' => request.name} end ) @get_snapshot = Google::Gax.create_api_call( @bigtable_table_admin_stub.method(:get_snapshot), defaults["get_snapshot"], exception_transformer: exception_transformer, params_extractor: proc do |request| {'name' => request.name} end ) @list_snapshots = Google::Gax.create_api_call( @bigtable_table_admin_stub.method(:list_snapshots), defaults["list_snapshots"], exception_transformer: exception_transformer, params_extractor: proc do |request| {'parent' => request.parent} end ) @delete_snapshot = Google::Gax.create_api_call( @bigtable_table_admin_stub.method(:delete_snapshot), defaults["delete_snapshot"], exception_transformer: exception_transformer, params_extractor: proc do |request| {'name' => request.name} end ) end |
Class Method Details
.cluster_path(project, instance, cluster) ⇒ String
Returns a fully-qualified cluster resource name string.
134 135 136 137 138 139 140 |
# File 'lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb', line 134 def self.cluster_path project, instance, cluster CLUSTER_PATH_TEMPLATE.render( :"project" => project, :"instance" => instance, :"cluster" => cluster ) end |
.instance_path(project, instance) ⇒ String
Returns a fully-qualified instance resource name string.
122 123 124 125 126 127 |
# File 'lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb', line 122 def self.instance_path project, instance INSTANCE_PATH_TEMPLATE.render( :"project" => project, :"instance" => instance ) end |
.snapshot_path(project, instance, cluster, snapshot) ⇒ String
Returns a fully-qualified snapshot resource name string.
148 149 150 151 152 153 154 155 |
# File 'lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb', line 148 def self.snapshot_path project, instance, cluster, snapshot SNAPSHOT_PATH_TEMPLATE.render( :"project" => project, :"instance" => instance, :"cluster" => cluster, :"snapshot" => snapshot ) end |
.table_path(project, instance, table) ⇒ String
Returns a fully-qualified table resource name string.
162 163 164 165 166 167 168 |
# File 'lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb', line 162 def self.table_path project, instance, table TABLE_PATH_TEMPLATE.render( :"project" => project, :"instance" => instance, :"table" => table ) end |
Instance Method Details
#check_consistency(name, consistency_token, options: nil) {|result, operation| ... } ⇒ Google::Bigtable::Admin::V2::CheckConsistencyResponse
Checks replication consistency based on a consistency token, that is, if replication has caught up based on the conditions specified in the token and the check request.
826 827 828 829 830 831 832 833 834 835 836 837 |
# File 'lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb', line 826 def check_consistency \ name, consistency_token, options: nil, &block req = { name: name, consistency_token: consistency_token }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Bigtable::Admin::V2::CheckConsistencyRequest) @check_consistency.call(req, , &block) end |
#create_table(parent, table_id, table, initial_splits: nil, options: nil) {|result, operation| ... } ⇒ Google::Bigtable::Admin::V2::Table
Creates a new table in the specified instance. The table can be created with a full set of initial column families, specified in the request.
444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 |
# File 'lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb', line 444 def create_table \ parent, table_id, table, initial_splits: nil, options: nil, &block req = { parent: parent, table_id: table_id, table: table, initial_splits: initial_splits }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Bigtable::Admin::V2::CreateTableRequest) @create_table.call(req, , &block) end |
#create_table_from_snapshot(parent, table_id, source_snapshot, options: nil) ⇒ Google::Gax::Operation
Creates a new table from the specified snapshot. The target table must not exist. The snapshot and the table must be in the same instance.
Note: This is a private alpha release of Cloud Bigtable snapshots. This feature is not currently available to most Cloud Bigtable customers. This feature might be changed in backward-incompatible ways and is not recommended for production use. It is not subject to any SLA or deprecation policy.
525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 |
# File 'lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb', line 525 def create_table_from_snapshot \ parent, table_id, source_snapshot, options: nil req = { parent: parent, table_id: table_id, source_snapshot: source_snapshot }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Bigtable::Admin::V2::CreateTableFromSnapshotRequest) operation = Google::Gax::Operation.new( @create_table_from_snapshot.call(req, ), @operations_client, Google::Bigtable::Admin::V2::Table, Google::Bigtable::Admin::V2::CreateTableFromSnapshotMetadata, call_options: ) operation.on_done { |operation| yield(operation) } if block_given? operation end |
#delete_snapshot(name, options: nil) {|result, operation| ... } ⇒ Object
Permanently deletes the specified snapshot.
Note: This is a private alpha release of Cloud Bigtable snapshots. This feature is not currently available to most Cloud Bigtable customers. This feature might be changed in backward-incompatible ways and is not recommended for production use. It is not subject to any SLA or deprecation policy.
1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 |
# File 'lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb', line 1071 def delete_snapshot \ name, options: nil, &block req = { name: name }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Bigtable::Admin::V2::DeleteSnapshotRequest) @delete_snapshot.call(req, , &block) nil end |
#delete_table(name, options: nil) {|result, operation| ... } ⇒ Object
Permanently deletes a specified table and all of its data.
661 662 663 664 665 666 667 668 669 670 671 |
# File 'lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb', line 661 def delete_table \ name, options: nil, &block req = { name: name }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Bigtable::Admin::V2::DeleteTableRequest) @delete_table.call(req, , &block) nil end |
#drop_row_range(name, row_key_prefix: nil, delete_all_data_from_table: nil, options: nil) {|result, operation| ... } ⇒ Object
Permanently drop/delete a row range from a specified table. The request can specify whether to delete all rows in a table, or only those that match a particular prefix.
747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 |
# File 'lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb', line 747 def drop_row_range \ name, row_key_prefix: nil, delete_all_data_from_table: nil, options: nil, &block req = { name: name, row_key_prefix: row_key_prefix, delete_all_data_from_table: delete_all_data_from_table }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Bigtable::Admin::V2::DropRowRangeRequest) @drop_row_range.call(req, , &block) nil end |
#generate_consistency_token(name, options: nil) {|result, operation| ... } ⇒ Google::Bigtable::Admin::V2::GenerateConsistencyTokenResponse
Generates a consistency token for a Table, which can be used in CheckConsistency to check whether mutations to the table that finished before this call started have been replicated. The tokens will be available for 90 days.
787 788 789 790 791 792 793 794 795 796 |
# File 'lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb', line 787 def generate_consistency_token \ name, options: nil, &block req = { name: name }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Bigtable::Admin::V2::GenerateConsistencyTokenRequest) @generate_consistency_token.call(req, , &block) end |
#get_snapshot(name, options: nil) {|result, operation| ... } ⇒ Google::Bigtable::Admin::V2::Snapshot
Gets metadata information about the specified snapshot.
Note: This is a private alpha release of Cloud Bigtable snapshots. This feature is not currently available to most Cloud Bigtable customers. This feature might be changed in backward-incompatible ways and is not recommended for production use. It is not subject to any SLA or deprecation policy.
970 971 972 973 974 975 976 977 978 979 |
# File 'lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb', line 970 def get_snapshot \ name, options: nil, &block req = { name: name }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Bigtable::Admin::V2::GetSnapshotRequest) @get_snapshot.call(req, , &block) end |
#get_table(name, view: nil, options: nil) {|result, operation| ... } ⇒ Google::Bigtable::Admin::V2::Table
Gets metadata information about the specified table.
628 629 630 631 632 633 634 635 636 637 638 639 |
# File 'lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb', line 628 def get_table \ name, view: nil, options: nil, &block req = { name: name, view: view }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Bigtable::Admin::V2::GetTableRequest) @get_table.call(req, , &block) end |
#list_snapshots(parent, page_size: nil, options: nil) {|result, operation| ... } ⇒ Google::Gax::PagedEnumerable<Google::Bigtable::Admin::V2::Snapshot>
Lists all snapshots associated with the specified cluster.
Note: This is a private alpha release of Cloud Bigtable snapshots. This feature is not currently available to most Cloud Bigtable customers. This feature might be changed in backward-incompatible ways and is not recommended for production use. It is not subject to any SLA or deprecation policy.
1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 |
# File 'lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb', line 1032 def list_snapshots \ parent, page_size: nil, options: nil, &block req = { parent: parent, page_size: page_size }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Bigtable::Admin::V2::ListSnapshotsRequest) @list_snapshots.call(req, , &block) end |
#list_tables(parent, view: nil, page_size: nil, options: nil) {|result, operation| ... } ⇒ Google::Gax::PagedEnumerable<Google::Bigtable::Admin::V2::Table>
Lists all tables served from a specified instance.
589 590 591 592 593 594 595 596 597 598 599 600 601 602 |
# File 'lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb', line 589 def list_tables \ parent, view: nil, page_size: nil, options: nil, &block req = { parent: parent, view: view, page_size: page_size }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Bigtable::Admin::V2::ListTablesRequest) @list_tables.call(req, , &block) end |
#modify_column_families(name, modifications, options: nil) {|result, operation| ... } ⇒ Google::Bigtable::Admin::V2::Table
Performs a series of column family modifications on the specified table. Either all or none of the modifications will occur before this method returns, but data requests received prior to that point may see a table where only some modifications have taken effect.
707 708 709 710 711 712 713 714 715 716 717 718 |
# File 'lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb', line 707 def modify_column_families \ name, modifications, options: nil, &block req = { name: name, modifications: modifications }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Bigtable::Admin::V2::ModifyColumnFamiliesRequest) @modify_column_families.call(req, , &block) end |
#snapshot_table(name, cluster, snapshot_id, description, ttl: nil, options: nil) ⇒ Google::Gax::Operation
Creates a new snapshot in the specified cluster from the specified source table. The cluster and the table must be in the same instance.
Note: This is a private alpha release of Cloud Bigtable snapshots. This feature is not currently available to most Cloud Bigtable customers. This feature might be changed in backward-incompatible ways and is not recommended for production use. It is not subject to any SLA or deprecation policy.
917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 |
# File 'lib/google/cloud/bigtable/admin/v2/bigtable_table_admin_client.rb', line 917 def snapshot_table \ name, cluster, snapshot_id, description, ttl: nil, options: nil req = { name: name, cluster: cluster, snapshot_id: snapshot_id, description: description, ttl: ttl }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Bigtable::Admin::V2::SnapshotTableRequest) operation = Google::Gax::Operation.new( @snapshot_table.call(req, ), @operations_client, Google::Bigtable::Admin::V2::Snapshot, Google::Bigtable::Admin::V2::SnapshotTableMetadata, call_options: ) operation.on_done { |operation| yield(operation) } if block_given? operation end |