首页 > 解决方案 > 如何使用 Ruby 连接到 Firestore 数据库

问题描述

我正在尝试从 Ruby 脚本(最终从 Rails 应用程序)写入和读取 Firestore 数据库。

这似乎是一项微不足道的任务,但是当我在 IRB 中运行测试脚本时,它不会让我写入或读取数据。

我试过了:

require 'google/cloud/firestore' # => true

# credentials
cred = Google::Cloud::Firestore::Credentials.new('<path/to/my/keyfile/key-projectname-etc.json>') 
# => #<Google::Cloud::Firestore::Credentials:...>

# initialize firestore connection
db = Google::Cloud::Firestore.new(
  project_id: '<MY-PROJECT-ID>',
  credentials: cred
) # => #<Google::Cloud::Firestore::Client:...>

# write a document inside the users collection
db.doc("users/helloFromRuby").set({ name: "yay it worked!"})

这是我收到的错误消息:

Google::Cloud::UnavailableError (14:failed to connect to all addresses)

标签: rubygoogle-cloud-firestore

解决方案


我可以解决我的问题:我GOOGLE_APPLICATION_CREDENTIALS初始化了一个环境变量,它以某种方式干扰了我的 json 密钥文件。删除该变量解决了我的问题。


推荐阅读