module Google::Cloud

Public Class Methods

bigquery(project_id = nil, credentials = nil, scope: nil, retries: nil, timeout: nil) click to toggle source

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 {file:AUTHENTICATION.md Authentication Guide}.

@param [String] project_id Identifier for a BigQuery project. If not

present, the default project for the credentials is used.

@param [String, Hash, Google::Auth::Credentials] credentials The path to

the keyfile as a String, the contents of the keyfile as a Hash, or a
Google::Auth::Credentials object. (See {Bigquery::Credentials})

@param [String, Array<String>] scope 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](https://developers.google.com/identity/protocols/OAuth2).

The default scope is:

* `https://www.googleapis.com/auth/bigquery`

@param [Integer] retries Number of times to retry requests on server

error. The default value is `5`. Optional.

@param [Integer] timeout Default timeout to use in requests. Optional.

@return [Google::Cloud::Bigquery::Project]

@example

require "google/cloud"

bigquery = Google::Cloud.bigquery
dataset = bigquery.dataset "my_dataset"
table = dataset.table "my_table"
# File lib/google-cloud-bigquery.rb, line 112
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

Public Instance Methods

bigquery(scope: nil, retries: nil, timeout: nil) click to toggle source

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 {file:AUTHENTICATION.md Authentication Guide}.

@param [String, Array<String>] scope 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](https://developers.google.com/identity/protocols/OAuth2).

The default scope is:

* `https://www.googleapis.com/auth/bigquery`

@param [Integer] retries Number of times to retry requests on server

error. The default value is `5`. Optional.

@param [Integer] timeout Default request timeout in seconds. Optional.

@return [Google::Cloud::Bigquery::Project]

@example

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?

@example 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
# File lib/google-cloud-bigquery.rb, line 73
def bigquery scope: nil, retries: nil, timeout: nil
  Google::Cloud.bigquery @project, @keyfile, scope:   scope,
                                             retries: (retries || @retries),
                                             timeout: (timeout || @timeout)
end