Class: Google::Cloud::Bigtable::Project
- Inherits:
-
Object
- Object
- Google::Cloud::Bigtable::Project
- Defined in:
- lib/google/cloud/bigtable/project.rb
Overview
Project
Projects are top-level containers in Google Cloud Platform. They store information about billing and authorized users, and they contain Cloud Bigtable data. Each project has a friendly name and a unique ID.
Google::Cloud::Bigtable::Project is the main object for interacting with Cloud Bigtable.
Cluster and Instance objects are created, accessed, and managed by Google::Cloud::Bigtable::Project.
To create an instance, use new or Google::Cloud#bigtable.
Instance Method Summary collapse
-
#clusters(token: nil) ⇒ Array<Google::Cloud::Bigtable::Cluster>
List all clusters in project.
-
#create_instance(instance_id, display_name: nil, type: nil, labels: nil, clusters: nil) {|clusters| ... } ⇒ Google::Cloud::Bigtable::Instance::Job
Create a Bigtable instance.
-
#create_table(instance_id, table_id, column_families: nil, granularity: nil, initial_splits: nil) {|column_families| ... } ⇒ Google::Cloud::Bigtable::Table
Creates a new table in the specified instance.
-
#delete_table(instance_id, table_id) ⇒ Object
Permanently deletes a specified table and all of its data.
-
#instance(instance_id) ⇒ Google::Cloud::Bigtable::Instance?
Get an existing Bigtable instance.
-
#instances(token: nil) ⇒ Array<Google::Cloud::Bigtable::Instance>
Retrieves the list of Bigtable instances for the project.
-
#project_id ⇒ String
The identifier for the Cloud Bigtable project.
-
#table(instance_id, table_id, view: nil, perform_lookup: nil, app_profile_id: nil) ⇒ Google::Cloud::Bigtable::Table?
Get table information.
-
#tables(instance_id) ⇒ Array<Google::Cloud::Bigtable::Table>
List all tables for given instance.
Instance Method Details
#clusters(token: nil) ⇒ Array<Google::Cloud::Bigtable::Cluster>
List all clusters in project.
262 263 264 265 266 |
# File 'lib/google/cloud/bigtable/project.rb', line 262 def clusters token: nil ensure_service! grpc = service.list_clusters "-", token: token Cluster::List.from_grpc grpc, service, instance_id: "-" end |
#create_instance(instance_id, display_name: nil, type: nil, labels: nil, clusters: nil) {|clusters| ... } ⇒ Google::Cloud::Bigtable::Instance::Job
Create a Bigtable instance.
228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 |
# File 'lib/google/cloud/bigtable/project.rb', line 228 def create_instance instance_id, display_name: nil, type: nil, labels: nil, clusters: nil labels = Hash[labels.map { |k, v| [String(k), String(v)] }] if labels instance_attrs = { display_name: display_name, type: type, labels: labels }.delete_if { |_, v| v.nil? } instance = Google::Bigtable::Admin::V2::Instance.new instance_attrs clusters ||= Instance::ClusterMap.new yield clusters if block_given? clusters.each_value do |cluster| cluster.location = service.location_path cluster.location unless cluster.location == "" end grpc = service.create_instance instance_id, instance, clusters.to_h Instance::Job.from_grpc grpc, service end |
#create_table(instance_id, table_id, column_families: nil, granularity: nil, initial_splits: nil) {|column_families| ... } ⇒ Google::Cloud::Bigtable::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.
456 457 458 459 460 461 462 463 464 465 466 467 |
# File 'lib/google/cloud/bigtable/project.rb', line 456 def create_table instance_id, table_id, column_families: nil, granularity: nil, initial_splits: nil, &block ensure_service! Table.create( service, instance_id, table_id, column_families: column_families, granularity: granularity, initial_splits: initial_splits, &block ) end |
#delete_table(instance_id, table_id) ⇒ Object
Permanently deletes a specified table and all of its data.
485 486 487 488 |
# File 'lib/google/cloud/bigtable/project.rb', line 485 def delete_table instance_id, table_id service.delete_table instance_id, table_id true end |
#instance(instance_id) ⇒ Google::Cloud::Bigtable::Instance?
Get an existing Bigtable instance.
128 129 130 131 132 133 134 |
# File 'lib/google/cloud/bigtable/project.rb', line 128 def instance instance_id ensure_service! grpc = service.get_instance instance_id Instance.from_grpc grpc, service rescue Google::Cloud::NotFoundError nil end |
#instances(token: nil) ⇒ Array<Google::Cloud::Bigtable::Instance>
Retrieves the list of Bigtable instances for the project.
105 106 107 108 109 |
# File 'lib/google/cloud/bigtable/project.rb', line 105 def instances token: nil ensure_service! grpc = service.list_instances token: token Instance::List.from_grpc grpc, service end |
#project_id ⇒ String
The identifier for the Cloud Bigtable project.
81 82 83 84 |
# File 'lib/google/cloud/bigtable/project.rb', line 81 def project_id ensure_service! service.project_id end |
#table(instance_id, table_id, view: nil, perform_lookup: nil, app_profile_id: nil) ⇒ Google::Cloud::Bigtable::Table?
Get table information.
370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 |
# File 'lib/google/cloud/bigtable/project.rb', line 370 def table instance_id, table_id, view: nil, perform_lookup: nil, app_profile_id: nil ensure_service! table = if perform_lookup grpc = service.get_table instance_id, table_id, view: view Table.from_grpc grpc, service, view: view else Table.from_path service.table_path(instance_id, table_id), service end table.app_profile_id = app_profile_id table rescue Google::Cloud::NotFoundError nil end |
#tables(instance_id) ⇒ Array<Google::Cloud::Bigtable::Table>
List all tables for given instance.
285 286 287 288 289 |
# File 'lib/google/cloud/bigtable/project.rb', line 285 def tables instance_id ensure_service! grpc = service.list_tables instance_id Table::List.from_grpc grpc, service end |