Module: Gcloud
- Defined in:
- lib/gcloud.rb,
lib/gcloud/pubsub.rb,
lib/gcloud/upload.rb,
lib/gcloud/backoff.rb,
lib/gcloud/storage.rb,
lib/gcloud/version.rb,
lib/gcloud/bigquery.rb,
lib/gcloud/datastore.rb,
lib/gcloud/credentials.rb,
lib/gcloud/bigquery/job.rb,
lib/gcloud/pubsub/topic.rb,
lib/gcloud/storage/file.rb,
lib/gcloud/bigquery/data.rb,
lib/gcloud/bigquery/view.rb,
lib/gcloud/datastore/key.rb,
lib/gcloud/pubsub/errors.rb,
lib/gcloud/bigquery/table.rb,
lib/gcloud/pubsub/message.rb,
lib/gcloud/pubsub/project.rb,
lib/gcloud/storage/bucket.rb,
lib/gcloud/storage/errors.rb,
lib/gcloud/bigquery/errors.rb,
lib/gcloud/datastore/proto.rb,
lib/gcloud/datastore/query.rb,
lib/gcloud/storage/project.rb,
lib/gcloud/bigquery/dataset.rb,
lib/gcloud/bigquery/project.rb,
lib/gcloud/datastore/entity.rb,
lib/gcloud/datastore/errors.rb,
lib/gcloud/storage/file/acl.rb,
lib/gcloud/bigquery/copy_job.rb,
lib/gcloud/bigquery/job/list.rb,
lib/gcloud/bigquery/load_job.rb,
lib/gcloud/datastore/dataset.rb,
lib/gcloud/pubsub/connection.rb,
lib/gcloud/pubsub/topic/list.rb,
lib/gcloud/storage/file/list.rb,
lib/gcloud/bigquery/query_job.rb,
lib/gcloud/pubsub/credentials.rb,
lib/gcloud/storage/bucket/acl.rb,
lib/gcloud/storage/connection.rb,
lib/gcloud/bigquery/connection.rb,
lib/gcloud/bigquery/query_data.rb,
lib/gcloud/bigquery/table/list.rb,
lib/gcloud/pubsub/subscription.rb,
lib/gcloud/storage/bucket/list.rb,
lib/gcloud/storage/credentials.rb,
lib/gcloud/bigquery/credentials.rb,
lib/gcloud/bigquery/extract_job.rb,
lib/gcloud/datastore/connection.rb,
lib/gcloud/datastore/properties.rb,
lib/gcloud/bigquery/dataset/list.rb,
lib/gcloud/datastore/credentials.rb,
lib/gcloud/datastore/transaction.rb,
lib/gcloud/proto/datastore_v1.pb.rb,
lib/gcloud/storage/file/verifier.rb,
lib/gcloud/pubsub/received_message.rb,
lib/gcloud/bigquery/insert_response.rb,
lib/gcloud/pubsub/subscription/list.rb,
lib/gcloud/datastore/dataset/query_results.rb,
lib/gcloud/datastore/dataset/lookup_results.rb
Overview
– Copyright 2014 Google Inc. All rights reserved.
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Defined Under Namespace
Modules: Bigquery, Datastore, Pubsub, Storage, Upload Classes: Backoff, Credentials, Error
Constant Summary collapse
- VERSION =
"0.3.0"
Class Method Summary collapse
-
.bigquery(project = nil, keyfile = nil, options = {}) ⇒ Object
Creates a new
Project
instance connected to the BigQuery service. -
.datastore(project = nil, keyfile = nil, options = {}) ⇒ Object
Creates a new object for connecting to the Datastore service.
-
.new(project = nil, keyfile = nil) ⇒ Object
Creates a new object for connecting to Google Cloud.
-
.pubsub(project = nil, keyfile = nil, options = {}) ⇒ Object
Creates a new object for connecting to the Pub/Sub service.
-
.storage(project = nil, keyfile = nil, options = {}) ⇒ Object
Creates a new object for connecting to the Storage service.
Instance Method Summary collapse
-
#bigquery(options = {}) ⇒ Object
Creates a new object for connecting to the BigQuery service.
-
#datastore(options = {}) ⇒ Object
Creates a new object for connecting to the Datastore service.
-
#pubsub(options = {}) ⇒ Object
Creates a new object for connecting to the Pub/Sub service.
-
#storage(options = {}) ⇒ Object
Creates a new object for connecting to the Storage service.
Class Method Details
.bigquery(project = nil, keyfile = nil, options = {}) ⇒ Object
Creates a new Project
instance connected to the BigQuery service. Each call creates a new connection.
Parameters
project
-
Identifier for a BigQuery project. If not present, the default project for the credentials is used. (
String
) keyfile
-
Keyfile downloaded from Google Cloud. If file path the file must be readable. (
String
orHash
) options
-
An optional Hash for controlling additional behavior. (
Hash
) options[: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. (
String
orArray
)The default scope is:
-
https://www.googleapis.com/auth/bigquery
-
Returns
Gcloud::Bigquery::Project
Example
require "gcloud/bigquery"
bigquery = Gcloud.bigquery
dataset = bigquery.dataset "my_dataset"
table = dataset.table "my_table"
57 58 59 60 61 62 63 64 65 |
# File 'lib/gcloud/bigquery.rb', line 57 def self.bigquery project = nil, keyfile = nil, = {} project ||= Gcloud::Bigquery::Project.default_project if keyfile.nil? credentials = Gcloud::Bigquery::Credentials.default else credentials = Gcloud::Bigquery::Credentials.new keyfile, end Gcloud::Bigquery::Project.new project, credentials end |
.datastore(project = nil, keyfile = nil, options = {}) ⇒ Object
Creates a new object for connecting to the Datastore service. Each call creates a new connection.
Parameters
project
-
Dataset identifier for the Datastore you are connecting to. (
String
) keyfile
-
Keyfile downloaded from Google Cloud. If file path the file must be readable. (
String
orHash
) options
-
An optional Hash for controlling additional behavior. (
Hash
) options[: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. (
String
orArray
)The default scopes are:
-
https://www.googleapis.com/auth/datastore
-
https://www.googleapis.com/auth/userinfo.email
-
Returns
Gcloud::Datastore::Dataset
Example
require "gcloud/datastore"
dataset = Gcloud.datastore "my-todo-project",
"/path/to/keyfile.json"
entity = Gcloud::Datastore::Entity.new
entity.key = Gcloud::Datastore::Key.new "Task"
entity["description"] = "Get started with Google Cloud"
entity["completed"] = false
dataset.save entity
67 68 69 70 71 72 73 74 75 |
# File 'lib/gcloud/datastore.rb', line 67 def self.datastore project = nil, keyfile = nil, = {} project ||= Gcloud::Datastore::Dataset.default_project if keyfile.nil? credentials = Gcloud::Datastore::Credentials.default else credentials = Gcloud::Datastore::Credentials.new keyfile, end Gcloud::Datastore::Dataset.new project, credentials end |
.new(project = nil, keyfile = nil) ⇒ Object
Creates a new object for connecting to Google Cloud.
Parameters
project
-
Project identifier for the Pub/Sub service you are connecting to. (
String
) keyfile
-
Keyfile downloaded from Google Cloud. If file path the file must be readable. (
String
orHash
)
Returns
Gcloud
Example
require "gcloud"
gcloud = Gcloud.new
dataset = gcloud.datastore
pubsub = gcloud.pubsub
storage = gcloud.storage
59 60 61 62 63 64 65 66 67 |
# File 'lib/gcloud.rb', line 59 def self.new project = nil, keyfile = nil gcloud = Object.new gcloud.instance_eval do @project = project @keyfile = keyfile end gcloud.extend Gcloud gcloud end |
.pubsub(project = nil, keyfile = nil, options = {}) ⇒ Object
Creates a new object for connecting to the Pub/Sub service. Each call creates a new connection.
Parameters
project
-
Project identifier for the Pub/Sub service you are connecting to. (
String
) keyfile
-
Keyfile downloaded from Google Cloud. If file path the file must be readable. (
String
orHash
) options
-
An optional Hash for controlling additional behavior. (
Hash
) options[: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. (
String
orArray
)The default scope is:
-
https://www.googleapis.com/auth/pubsub
-
Returns
Gcloud::Pubsub::Project
Example
require "gcloud/pubsub"
pubsub = Gcloud.pubsub
topic = pubsub.topic "my-topic"
topic.publish "task completed"
59 60 61 62 63 64 65 66 67 |
# File 'lib/gcloud/pubsub.rb', line 59 def self.pubsub project = nil, keyfile = nil, = {} project ||= Gcloud::Pubsub::Project.default_project if keyfile.nil? credentials = Gcloud::Pubsub::Credentials.default else credentials = Gcloud::Pubsub::Credentials.new keyfile, end Gcloud::Pubsub::Project.new project, credentials end |
.storage(project = nil, keyfile = nil, options = {}) ⇒ Object
Creates a new object for connecting to the Storage service. Each call creates a new connection.
Parameters
project
-
Project identifier for the Storage service you are connecting to. (
String
) keyfile
-
Keyfile downloaded from Google Cloud. If file path the file must be readable. (
String
orHash
) options
-
An optional Hash for controlling additional behavior. (
Hash
) options[: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. (
String
orArray
)The default scope is:
-
https://www.googleapis.com/auth/devstorage.full_control
-
Returns
Gcloud::Storage::Project
Example
require "gcloud/storage"
storage = Gcloud.storage "my-todo-project",
"/path/to/keyfile.json"
bucket = storage.bucket "my-bucket"
file = bucket.file "path/to/my-file.ext"
60 61 62 63 64 65 66 67 68 |
# File 'lib/gcloud/storage.rb', line 60 def self.storage project = nil, keyfile = nil, = {} project ||= Gcloud::Storage::Project.default_project if keyfile.nil? credentials = Gcloud::Storage::Credentials.default else credentials = Gcloud::Storage::Credentials.new keyfile, end Gcloud::Storage::Project.new project, credentials end |
Instance Method Details
#bigquery(options = {}) ⇒ Object
Creates a new object for connecting to the BigQuery service. Each call creates a new connection.
Parameters
options
-
An optional Hash for controlling additional behavior. (
Hash
) options[: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. (
String
orArray
)The default scope is:
-
https://www.googleapis.com/auth/bigquery
-
Returns
Gcloud::Bigquery::Project
Examples
require "gcloud"
gcloud = Gcloud.new
bigquery = gcloud.bigquery
dataset = bigquery.dataset "my-dataset"
table = dataset.table "my-table"
table.data.each do |row|
puts row
end
The default scope can be overridden with the scope
option:
require "gcloud"
gcloud = Gcloud.new
platform_scope = "https://www.googleapis.com/auth/cloud-platform"
bigquery = gcloud.bigquery scope: platform_scope
252 253 254 255 |
# File 'lib/gcloud.rb', line 252 def bigquery = {} require "gcloud/bigquery" Gcloud.bigquery @project, @keyfile, end |
#datastore(options = {}) ⇒ Object
Creates a new object for connecting to the Datastore service. Each call creates a new connection.
Parameters
options
-
An optional Hash for controlling additional behavior. (
Hash
) options[: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. (
String
orArray
)The default scopes are:
-
https://www.googleapis.com/auth/datastore
-
https://www.googleapis.com/auth/userinfo.email
-
Returns
Gcloud::Datastore::Dataset
Examples
require "gcloud"
gcloud = Gcloud.new
dataset = gcloud.datastore
entity = Gcloud::Datastore::Entity.new
entity.key = Gcloud::Datastore::Key.new "Task"
entity["description"] = "Get started with Google Cloud"
entity["completed"] = false
dataset.save entity
You shouldn’t need to override the default scope, but it is possible to do so with the scope
option:
require "gcloud"
gcloud = Gcloud.new
platform_scope = "https://www.googleapis.com/auth/cloud-platform"
dataset = gcloud.datastore scope: platform_scope
115 116 117 118 |
# File 'lib/gcloud.rb', line 115 def datastore = {} require "gcloud/datastore" Gcloud.datastore @project, @keyfile, end |
#pubsub(options = {}) ⇒ Object
Creates a new object for connecting to the Pub/Sub service. Each call creates a new connection.
Parameters
options
-
An optional Hash for controlling additional behavior. (
Hash
) options[: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. (
String
orArray
)The default scope is:
-
https://www.googleapis.com/auth/pubsub
-
Returns
Gcloud::Pubsub::Project
Examples
require "gcloud"
gcloud = Gcloud.new
pubsub = gcloud.pubsub
topic = pubsub.topic "my-topic"
topic.publish "task completed"
The default scope can be overridden with the scope
option:
require "gcloud"
gcloud = Gcloud.new
platform_scope = "https://www.googleapis.com/auth/cloud-platform"
pubsub = gcloud.pubsub scope: platform_scope
205 206 207 208 |
# File 'lib/gcloud.rb', line 205 def pubsub = {} require "gcloud/pubsub" Gcloud.pubsub @project, @keyfile, end |
#storage(options = {}) ⇒ Object
Creates a new object for connecting to the Storage service. Each call creates a new connection.
Parameters
options
-
An optional Hash for controlling additional behavior. (
Hash
) options[: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. (
String
orArray
)The default scope is:
-
https://www.googleapis.com/auth/devstorage.full_control
-
Returns
Gcloud::Storage::Project
Examples
require "gcloud"
gcloud = Gcloud.new
storage = gcloud.storage
bucket = storage.bucket "my-bucket"
file = bucket.file "path/to/my-file.ext"
The default scope can be overridden with the scope
option. For more information see Storage OAuth 2.0 Authentication.
require "gcloud"
gcloud = Gcloud.new
readonly_scope = "https://www.googleapis.com/auth/devstorage.read_only"
readonly_storage = gcloud.storage scope: readonly_scope
161 162 163 164 |
# File 'lib/gcloud.rb', line 161 def storage = {} require "gcloud/storage" Gcloud.storage @project, @keyfile, end |