Module: Google::Cloud

Defined in:
lib/google-cloud-bigquery.rb,
lib/google/cloud/bigquery.rb,
lib/google/cloud/bigquery/job.rb,
lib/google/cloud/bigquery/data.rb,
lib/google/cloud/bigquery/time.rb,
lib/google/cloud/bigquery/model.rb,
lib/google/cloud/bigquery/table.rb,
lib/google/cloud/bigquery/policy.rb,
lib/google/cloud/bigquery/schema.rb,
lib/google/cloud/bigquery/convert.rb,
lib/google/cloud/bigquery/dataset.rb,
lib/google/cloud/bigquery/project.rb,
lib/google/cloud/bigquery/routine.rb,
lib/google/cloud/bigquery/service.rb,
lib/google/cloud/bigquery/version.rb,
lib/google/cloud/bigquery/argument.rb,
lib/google/cloud/bigquery/copy_job.rb,
lib/google/cloud/bigquery/external.rb,
lib/google/cloud/bigquery/job/list.rb,
lib/google/cloud/bigquery/load_job.rb,
lib/google/cloud/bigquery/query_job.rb,
lib/google/cloud/bigquery/model/list.rb,
lib/google/cloud/bigquery/table/list.rb,
lib/google/cloud/bigquery/credentials.rb,
lib/google/cloud/bigquery/dataset/tag.rb,
lib/google/cloud/bigquery/extract_job.rb,
lib/google/cloud/bigquery/dataset/list.rb,
lib/google/cloud/bigquery/project/list.rb,
lib/google/cloud/bigquery/routine/list.rb,
lib/google/cloud/bigquery/schema/field.rb,
lib/google/cloud/bigquery/standard_sql.rb,
lib/google/cloud/bigquery/dataset/access.rb,
lib/google/cloud/bigquery/insert_response.rb,
lib/google/cloud/bigquery/external/csv_source.rb,
lib/google/cloud/bigquery/external/avro_source.rb,
lib/google/cloud/bigquery/external/data_source.rb,
lib/google/cloud/bigquery/external/json_source.rb,
lib/google/cloud/bigquery/table/async_inserter.rb,
lib/google/cloud/bigquery/external/sheets_source.rb,
lib/google/cloud/bigquery/external/parquet_source.rb,
lib/google/cloud/bigquery/encryption_configuration.rb,
lib/google/cloud/bigquery/external/bigtable_source.rb,
lib/google/cloud/bigquery/external/bigtable_source/column.rb,
lib/google/cloud/bigquery/external/bigtable_source/column_family.rb

Defined Under Namespace

Modules: Bigquery

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.bigquery(project_id = nil, credentials = nil, scope: nil, retries: nil, timeout: nil) ⇒ Google::Cloud::Bigquery::Project

Creates a new Project instance connected to the BigQuery service. Each call creates a new connection.

For more information on connecting to Google Cloud see the Authentication Guide.

Examples:

require "google/cloud"

bigquery = Google::Cloud.bigquery
dataset = bigquery.dataset "my_dataset"
table = dataset.table "my_table"

Parameters:

  • project_id (String) (defaults to: nil)

    Identifier for a BigQuery project. 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 Google::Cloud::Bigquery::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.

    The default scope is:

    • https://www.googleapis.com/auth/bigquery
  • retries (Integer) (defaults to: nil)

    Number of times to retry requests on server error. The default value is 5. Optional.

  • timeout (Integer) (defaults to: nil)

    Default timeout to use in requests. Optional.

Returns:



114
115
116
117
118
# File 'lib/google-cloud-bigquery.rb', line 114

def self.bigquery project_id = nil, credentials = nil, scope: nil, retries: nil, timeout: nil
  require "google/cloud/bigquery"
  Google::Cloud::Bigquery.new project_id: project_id, credentials: credentials,
                              scope: scope, retries: retries, timeout: timeout
end

Instance Method Details

#bigquery(scope: nil, retries: nil, timeout: nil) ⇒ Google::Cloud::Bigquery::Project

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

For more information on connecting to Google Cloud see the Authentication Guide.

Examples:

require "google/cloud"

gcloud = Google::Cloud.new
bigquery = gcloud.bigquery
dataset = bigquery.dataset "my_dataset"
table = dataset.table "my_table"

data = table.data

# Iterate over the first page of results
data.each do |row|
  puts row[:name]
end
# Retrieve the next page of results
data = data.next if data.next?

The default scope can be overridden with the scope option:

require "google/cloud"

gcloud  = Google::Cloud.new
platform_scope = "https://www.googleapis.com/auth/cloud-platform"
bigquery = gcloud.bigquery scope: platform_scope

Parameters:

  • 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.

    The default scope is:

    • https://www.googleapis.com/auth/bigquery
  • retries (Integer) (defaults to: nil)

    Number of times to retry requests on server error. The default value is 5. Optional.

  • timeout (Integer) (defaults to: nil)

    Default request timeout in seconds. Optional.

Returns:



73
74
75
76
77
78
79
# File 'lib/google-cloud-bigquery.rb', line 73

def bigquery scope: nil, retries: nil, timeout: nil
  retries ||= @retries
  timeout ||= @timeout
  Google::Cloud.bigquery @project, @keyfile, scope:   scope,
                                             retries: retries,
                                             timeout: timeout
end