Reference documentation and code samples for the Firestore in Datastore mode API module Google::Cloud::Datastore.
Google Cloud Datastore
Google Cloud Datastore is a fully managed, schemaless database for storing non-relational data. You should feel at home if you are familiar with relational databases, but there are some key differences to be aware of to make the most of using Datastore.
See Datastore Overview.
Example
require "google/cloud/datastore" datastore = Google::Cloud::Datastore.new( project_id: "my-todo-project", credentials: "/path/to/keyfile.json" ) task = datastore.find "Task", "sampleTask" task["priority"] = 5 datastore.save task
Methods
.configure
def self.configure() -> Google::Cloud::Config
Configure the Google Cloud Datastore library.
The following Datastore configuration parameters are supported:
project_id
- (String) Identifier for a Datastore project. (The parameterproject
is considered deprecated, but may also be used.)credentials
- (String, Hash, Google::Auth::Credentials) The path to the keyfile as a String, the contents of the keyfile as a Hash, or a Google::Auth::Credentials object. (See Credentials) (The parameterkeyfile
is considered deprecated, but may also be used.)scope
- (String, Arrayquota_project
- (String) The project ID for a project that can be used by client libraries for quota and billing purposes.timeout
- (Integer) Default timeout to use in requests.endpoint
- (String) Override of the endpoint host name, ornil
to use the default endpoint.emulator_host
- (String) Host name of the emulator. Defaults toENV["DATASTORE_EMULATOR_HOST"]
- (Google::Cloud.configure.datastore)
- (Google::Cloud::Config) — The configuration object the Google::Cloud::Datastore library uses.
.new
def self.new(project_id: nil, credentials: nil, scope: nil, timeout: nil, endpoint: nil, emulator_host: nil, database_id: nil, project: nil, keyfile: nil) -> Google::Cloud::Datastore::Dataset
Creates 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) (defaults to: nil) — Identifier for a Datastore 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 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.
- endpoint (String) (defaults to: nil) — Override of the endpoint host name. Optional. If the param is nil, uses the default endpoint.
-
emulator_host (String) (defaults to: nil) — Datastore emulator host. Optional.
If the param is nil, uses the value of the
emulator_host
config. - database_id (String) (defaults to: nil) — Identifier for a Datastore database in the project. If not present, the default database of the project will be used.
-
project (String) (defaults to: nil) — Alias for the
project_id
argument. Deprecated. -
keyfile (String) (defaults to: nil) — Alias for the
credentials
argument. Deprecated.
- (ArgumentError)
require "google/cloud/datastore" datastore = Google::Cloud::Datastore.new( project_id: "my-todo-project", credentials: "/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
Constants
VERSION
value: "2.5.0".freeze