Reference documentation and code samples for the Firestore in Datastore mode API module Google::Cloud.
Methods
.datastore
def self.datastore(project_id = nil, credentials = nil, scope: nil, timeout: nil, database_id: nil) -> Google::Cloud::Datastore::DatasetCreates a new object for connecting to the Datastore service. Each call creates a new connection.
For more information on connecting to Google Cloud see the Authentication Guide.
- project_id (String) — Identifier for a Datastore project. If not present, the default project for the credentials is used.
- credentials (Google::Auth::Credentials) — A Google::Auth::Credentials object. (See Datastore::Credentials) @note Warning: Passing a
Stringto a keyfile path or aHashof credentials is deprecated. Providing an unvalidated credential configuration to Google APIs can compromise the security of your systems and data.@example
# The recommended way to provide credentials is to use the
make_credsmethod # on the appropriate credentials class for your environment.credentials = ::Google::Auth::ServiceAccountCredentials.make_creds( json_key_io: ::File.open("/path/to/keyfile.json") )
datastore = Google::Cloud::Datastore.new( project_id: "my-project-id", credentials: 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/datastore
- timeout (Integer) (defaults to: nil) — Default timeout to use in requests. Optional.
require "google/cloud" datastore = Google::Cloud.datastore "my-todo-project", "/path/to/keyfile.json" task = datastore.entity "Task", "sampleTask" do |t| t["type"] = "Personal" t["done"] = false t["priority"] = 4 t["description"] = "Learn Cloud Datastore" end datastore.save task
#datastore
def datastore(scope: nil, timeout: nil, database_id: nil) -> Google::Cloud::Datastore::DatasetCreates a new object for connecting to the Datastore service. Each call creates a new connection.
For more information on connecting to Google Cloud see the Authentication Guide.
- 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/datastore
- timeout (Integer) (defaults to: nil) — Default timeout to use in requests. Optional.
require "google/cloud" gcloud = Google::Cloud.new datastore = gcloud.datastore task = datastore.entity "Task" do |t| t["type"] = "Personal" t["done"] = false t["priority"] = 4 t["description"] = "Learn Cloud Datastore" end datastore.save task
You shouldn't need to override the default scope, but you can:
require "google/cloud" gcloud = Google::Cloud.new platform_scope = "https://www.googleapis.com/auth/cloud-platform" datastore = gcloud.datastore scope: platform_scope