Google App EngineでRuby on Railsを使用しています。このチュートリアルはhttps://cloud.google.com/ruby/getting-started/hello-worldです。私は従来のデータベースの代わりにGoogle Datastoreを使用しています。本番環境では、プロジェクトのデータストアに簡単に接続できますが、Google Datastore Emulatorを使用した開発モードでは問題があります。私はデータストアエミュレータをインストールし、提供されたGoogleチュートリアル(https://cloud.google.com/datastore/docs/tools/datastore-emulator)を使用して起動して実行することができました。Ruby on Railsプロジェクト内でGoogle datastoreエミュレータを使用できません
データストアエミュレータを実行してからgcloud beta emulators datastore env-init
を実行し、それらの環境変数がmy .bashrcファイル(およびmy .bashrcファイル)にあることを確認します。
私の環境変数は、このような何かを見て:これは「のgcloud」宝石から、次のようなエラーになり
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
は、その後、私はRailsの中から次の操作を実行してみてください。
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>'
データを使用する場合はキーファイルは必要ありませんでしたエミュレータを磨く。キーファイルが必要な場合は、ローカルデータストアエミュレータに接続できるようにするにはどうすればよいですか?データストアエミュレータのドキュメントには、これがまったく必要であることは言及されておらず、単に環境変数を設定するだけで、ローカルクライアントが自動的に接続するのに十分であるはずです。
お知らせください!