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 a Project
instance, use new.
Instance Method Summary collapse
-
#clusters(token: nil) ⇒ Array<Google::Cloud::Bigtable::Cluster>
Lists all clusters in the project.
-
#create_instance(instance_id, display_name: nil, type: nil, labels: nil, clusters: nil) {|clusters| ... } ⇒ Google::Cloud::Bigtable::Instance::Job
Creates 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 the specified table and all of its data.
-
#instance(instance_id) ⇒ Google::Cloud::Bigtable::Instance?
Gets 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?
Returns a table representation.
-
#tables(instance_id) ⇒ Array<Google::Cloud::Bigtable::Table>
Lists all tables for the given instance.
Instance Method Details
#clusters(token: nil) ⇒ Array<Google::Cloud::Bigtable::Cluster>
Lists all clusters in the project.
260 261 262 263 264 |
# File 'lib/google/cloud/bigtable/project.rb', line 260 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
Creates a Bigtable instance.
226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 |
# File 'lib/google/cloud/bigtable/project.rb', line 226 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.
426 427 428 429 430 431 432 433 434 435 436 437 |
# File 'lib/google/cloud/bigtable/project.rb', line 426 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 the specified table and all of its data.
454 455 456 457 |
# File 'lib/google/cloud/bigtable/project.rb', line 454 def delete_table instance_id, table_id service.delete_table instance_id, table_id true end |
#instance(instance_id) ⇒ Google::Cloud::Bigtable::Instance?
Gets an existing Bigtable instance.
126 127 128 129 130 131 132 |
# File 'lib/google/cloud/bigtable/project.rb', line 126 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.
103 104 105 106 107 |
# File 'lib/google/cloud/bigtable/project.rb', line 103 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.
79 80 81 82 |
# File 'lib/google/cloud/bigtable/project.rb', line 79 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?
Returns a table representation. If perform_lookup
is false
(the default), a sparse representation will be
returned without performing an RPC and without verifying that the table resource exists.
342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 |
# File 'lib/google/cloud/bigtable/project.rb', line 342 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>
Lists all tables for the given instance.
283 284 285 286 287 |
# File 'lib/google/cloud/bigtable/project.rb', line 283 def tables instance_id ensure_service! grpc = service.list_tables instance_id Table::List.from_grpc grpc, service end |