Google App Engine ile Ruby on Rails kullanıyorum, ör. Bu eğitici: https://cloud.google.com/ruby/getting-started/hello-world. Geleneksel bir veritabanı yerine Google Datastore kullanıyorum. Üretim için, projemin veri deposuna kolayca bağlanabiliyorum, ancak Google Datastore Emulator kullanan geliştirme modu bir sorunu kanıtlıyor. Datastore Emulator uygulamasını kurdum ve sağladığınız google eğiticisini (https://cloud.google.com/datastore/docs/tools/datastore-emulator) kullanarak çalıştırabilirim.Google datastore emülatörünü Ruby on Rails projesinden kullanamazsınız
Veri deposu öykünücüsünü çalıştırıyorum, daha sonra gcloud beta emulators datastore env-init
çalıştırın ve bu ortam değişkenlerinin .bashrc dosyasında olduğundan emin olun (ve kaynak .bashrc dosyam).
Benim ortam değişkenleri şuna benzer: Bu 'gcloud' mücevher dan aşağıdaki hatası
require 'gcloud'
gcloud = Gcloud.new('my-app')
dataset = gcloud.datastore
:
export DATASTORE_DATASET=my-app
export DATASTORE_HOST=http://localhost:8473
export DATASTORE_EMULATOR_HOST=localhost:8473
export DATASTORE_PROJECT_ID=my-app
Sonra Raylar içinden aşağıdakileri deneyin:
RuntimeError: Could not load the default credentials. Browse to
https://developers.google.com/accounts/docs/application-default-credentials
for more information
from /home/sam/.rvm/gems/ruby-2.2.3/gems/googleauth-0.5.1/lib/googleauth.rb:119:in `get_application_default'
from /home/sam/.rvm/gems/ruby-2.2.3/gems/gcloud-0.7.2/lib/gcloud/credentials.rb:83:in `default'
from /home/sam/.rvm/gems/ruby-2.2.3/gems/gcloud-0.7.2/lib/gcloud/datastore.rb:62:in `datastore'
from /home/sam/.rvm/gems/ruby-2.2.3/gems/gcloud-0.7.2/lib/gcloud.rb:106:in `datastore'
from (irb):3
from /home/sam/.rvm/gems/ruby-2.2.3/gems/railties-4.2.6/lib/rails/commands/console.rb:110:in `start'
from /home/sam/.rvm/gems/ruby-2.2.3/gems/railties-4.2.6/lib/rails/commands/console.rb:9:in `start'
from /home/sam/.rvm/gems/ruby-2.2.3/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:68:in `console'
from /home/sam/.rvm/gems/ruby-2.2.3/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
from /home/sam/.rvm/gems/ruby-2.2.3/gems/railties-4.2.6/lib/rails/commands.rb:17:in `<top (required)>'
from bin/rails:18:in `require'
from bin/rails:18:in `<main>'
Verileri kullanırsam bir anahtar sözcüğe gerek duymadığım izlenim altındaydım öfke emülatörü. Bir anahtarile ihtiyacım varsa, yerel veri deposu öykünücüsüne bağlanmama izin verecek bir tane nasıl oluşturabilirim? Veri deposu öykünücüsü dökümantasyonu bunun gerekliliğinden bahsetmiyor ve yalnızca ortam değişkenlerinin yerinde olması yerel istemcilerin otomatik olarak bağlanması için yeterli olabileceğini gösteriyor gibi görünüyor.
Lütfen tavsiye!
Aslında veri deposu emülatörü bağlanmak için yakut almak edemedik iken