Module: Google::Cloud::Spanner

Defined in:
lib/google/cloud/spanner.rb,
lib/google/cloud/spanner/data.rb,
lib/google/cloud/spanner/pool.rb,
lib/google/cloud/spanner/range.rb,
lib/google/cloud/spanner/client.rb,
lib/google/cloud/spanner/commit.rb,
lib/google/cloud/spanner/errors.rb,
lib/google/cloud/spanner/fields.rb,
lib/google/cloud/spanner/policy.rb,
lib/google/cloud/spanner/status.rb,
lib/google/cloud/spanner/convert.rb,
lib/google/cloud/spanner/project.rb,
lib/google/cloud/spanner/results.rb,
lib/google/cloud/spanner/service.rb,
lib/google/cloud/spanner/session.rb,
lib/google/cloud/spanner/version.rb,
lib/google/cloud/spanner/database.rb,
lib/google/cloud/spanner/instance.rb,
lib/google/cloud/spanner/snapshot.rb,
lib/google/cloud/spanner/credentials.rb,
lib/google/cloud/spanner/transaction.rb,
lib/google/cloud/spanner/database/job.rb,
lib/google/cloud/spanner/instance/job.rb,
lib/google/cloud/spanner/database/list.rb,
lib/google/cloud/spanner/instance/list.rb,
lib/google/cloud/spanner/admin/database.rb,
lib/google/cloud/spanner/admin/instance.rb,
lib/google/cloud/spanner/instance/config.rb,
lib/google/cloud/spanner/v1/doc/overview.rb,
lib/google/cloud/spanner/admin/database/v1.rb,
lib/google/cloud/spanner/admin/instance/v1.rb,
lib/google/cloud/spanner/v1/spanner_client.rb,
lib/google/cloud/spanner/instance/config/list.rb,
lib/google/cloud/spanner/admin/database/credentials.rb,
lib/google/cloud/spanner/admin/instance/credentials.rb,
lib/google/cloud/spanner/admin/database/v1/doc/overview.rb,
lib/google/cloud/spanner/admin/instance/v1/doc/overview.rb,
lib/google/cloud/spanner/admin/database/v1/database_admin_client.rb,
lib/google/cloud/spanner/admin/instance/v1/instance_admin_client.rb

Overview

# Ruby Client for Cloud Spanner API ([Alpha](github.com/GoogleCloudPlatform/google-cloud-ruby#versioning))

[Cloud Spanner API][Product Documentation]: Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service.

  • Product Documentation][

## Quick Start In order to use this library, you first need to go through the following steps:

  1. [Select or create a Cloud Platform project.](console.cloud.google.com/project)

  2. [Enable the Cloud Spanner API.](console.cloud.google.com/apis/api/spanner)

  3. [Setup Authentication.](googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud/master/guides/authentication)

### Installation “‘ $ gem install google-cloud-spanner “`

### Next Steps

[Product Documentation]: cloud.google.com/spanner

Defined Under Namespace

Modules: Admin, Convert, V1 Classes: Client, ClientClosedError, Commit, Credentials, Data, Database, DuplicateNameError, Fields, Instance, Policy, Pool, Project, Range, Results, Rollback, Service, Session, SessionLimitError, Snapshot, Status, Transaction

Constant Summary collapse

VERSION =
"1.1.1"

Class Method Summary collapse

Class Method Details

.new(project_id: nil, credentials: nil, scope: nil, timeout: nil, client_config: nil, project: nil, keyfile: nil) ⇒ Google::Cloud::Spanner::Project

Creates a new object for connecting to the Spanner service. Each call creates a new connection.

For more information on connecting to Google Cloud see the [Authentication Guide](googlecloudplatform.github.io/google-cloud-ruby/#/docs/guides/authentication).

Examples:

require "google/cloud/spanner"

spanner = Google::Cloud::Spanner.new

Parameters:

  • project_id (String) (defaults to: nil)

    Project identifier for the Spanner service you are connecting to. If not present, the default project for the credentials is used.

  • credentials (String, Hash, Google::Auth::Credentials) (defaults to: nil)

    The path to the keyfile as a String, the contents of the keyfile as a Hash, or a Google::Auth::Credentials object. (See Credentials)

  • scope (String, Array<String>) (defaults to: nil)

    The OAuth 2.0 scopes controlling the set of resources and operations that the connection can access. See [Using OAuth 2.0 to Access Google APIs](developers.google.com/identity/protocols/OAuth2).

    The default scopes are:

  • timeout (Integer) (defaults to: nil)

    Default timeout to use in requests. Optional.

  • client_config (Hash) (defaults to: nil)

    A hash of values to override the default behavior of the API client. Optional.

  • project (String) (defaults to: nil)

    Alias for the ‘project_id` argument. Deprecated.

  • keyfile (String) (defaults to: nil)

    Alias for the ‘credentials` argument. Deprecated.

Returns:



371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
# File 'lib/google/cloud/spanner.rb', line 371

def self.new project_id: nil, credentials: nil, scope: nil, timeout: nil,
             client_config: nil, project: nil, keyfile: nil
  project_id ||= (project || Spanner::Project.default_project_id)
  project_id = project_id.to_s # Always cast to a string
  fail ArgumentError, "project_id is missing" if project_id.empty?

  credentials ||= (keyfile || Spanner::Credentials.default(scope: scope))
  unless credentials.is_a? Google::Auth::Credentials
    credentials = Spanner::Credentials.new credentials, scope: scope
  end

  Spanner::Project.new(
    Spanner::Service.new(
      project_id, credentials, timeout: timeout,
                               client_config: client_config))
end