Utiliser Cloud Datastore

Vous pouvez utiliser Google Cloud Datastore pour stocker des données d'application à partir de votre application App Engine. Cloud Datastore est une base de données conçue pour le scaling automatique, les hautes performances et la convivialité de développement des applications.

Ce document explique comment utiliser la bibliothèque cliente Google Cloud pour stocker et récupérer des données à l'aide de Cloud Datastore dans une application App Engine.

Conditions préalables et configuration

Suivez les instructions de la section "Hello, World!" pour Ruby sur App Engine afin de configurer votre environnement et votre projet, de façon à comprendre comment les applications Ruby sont structurées dans App Engine. Notez et enregistrez votre ID de projet. Il vous servira à exécuter l'exemple d'application décrit dans ce document.

Cloner le dépôt

Téléchargez (clonez) l'exemple suivant :

git clone https://github.com/GoogleCloudPlatform/ruby-docs-samples
cd ruby-docs-samples/appengine/datastore

Modifier la configuration du projet et définir les dépendances

Dans le fichier Gemfile, incluez la bibliothèque google-cloud, qui dispose des fonctions pour Cloud Datastore.

source "https://rubygems.org"

gem "google-cloud-datastore"
gem "sinatra"

Code d'application

L'exemple d'application enregistre, récupère et affiche les adresses IP des visiteurs. Vous remarquerez qu'une entrée de journal est une classe simple à deux champs, qui reçoit le type visit et est enregistrée dans Cloud Datastore à l'aide de la commande save. Ensuite, les dix visites les plus récentes sont extraites par ordre décroissant à l'aide de la commande Dataset run.

require "digest/sha2"
require "sinatra"
require "google/cloud/datastore"

get "/" do
  datastore = Google::Cloud::Datastore.new

  # Save visit in Datastore
  visit = datastore.entity "Visit" do |v|
    v["user_ip"]   = Digest::SHA256.hexdigest request.ip
    v["timestamp"] = Time.now
  end
  datastore.save visit

  # Query the last 10 visits from the Datastore
  query     = datastore.query("Visit").order("timestamp", :desc).limit(10)
  visits    = datastore.run query

  response.write "Last 10 visits:\n"

  visits.each do |visit|
    response.write "Time: #{visit['timestamp']} Addr: #{visit['user_ip']}\n"
  end

  content_type "text/plain"
  status 200
end

Utiliser des fichiers index.yaml

L'exemple d'application effectue des requêtes simples. Les requêtes Datastore plus élaborées nécessitent un ou plusieurs index, que vous devez spécifier dans un fichier index.yaml à importer avec l'application. Ce fichier peut être créé manuellement ou généré automatiquement lors du test en local de votre application.

Tester l'application en local

Si vous devez développer et tester votre application en local, vous pouvez utiliser l'émulateur Cloud Datastore.

Pour en savoir plus

Pour obtenir des informations complètes sur Cloud Datastore, y compris sur les optimisations et les concepts, consultez la documentation de Cloud Datastore.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Environnement flexible App Engine pour les documents Ruby