firebase - 调用 firebase golang 库时出现 RPC 数据存储错误
问题描述
当代码给我一个奇怪的错误时,我正在关注 golang 中的 firestore 教程。看来我需要切换到本机模式。https://cloud.google.com/datastore/docs/firestore-or-datastore这个文档说如果我没有写入数据库,我可以,但我没有找到任何文档如何切换。
package main
import (
"context"
"fmt"
"log"
firebase "firebase.google.com/go"
"google.golang.org/api/iterator"
"google.golang.org/api/option"
)
func main() {
// Use a service account
ctx := context.Background()
conf := &firebase.Config{ProjectID: "secret"}
sa := option.WithCredentialsFile("../secret.json")
app, err := firebase.NewApp(ctx, conf, sa)
if err != nil {
log.Fatalln(err)
}
client, err := app.Firestore(ctx)
if err != nil {
log.Fatalln(err)
}
iter := client.Collection("jobs").Documents(ctx)
for {
doc, err := iter.Next()
if err == iterator.Done {
break
}
if err != nil {
log.Fatalf("Failed to iterate: %v", err)
}
fmt.Println(doc.Data())
}
}
2020/08/26 21:46:38 迭代失败:rpc 错误:代码 = FailedPrecondition desc = Cloud Firestore API 不适用于数据存储模式项目。退出状态 1
解决方案
数据存储模式下的Firestore不支持Firestore API。您有以下选择:
- 更改应用程序以使用Datastore API。
- 如果应用程序尚未写入存储,则将存储模式切换到本地模式下的 Firstore。要切换模式,请转到https://console.cloud.google.com/datastore/stats?project=projectID,其中projectID是您的项目 ID,然后单击Switch to Native Mode按钮。
- 移动到一个新项目并选择Firstore in Native Mode。
推荐阅读
- c++ - 生成非同构图
- python - 使用命令 pip install -r requirements.txt 安装要求时出现错误
- python - 如何在 pandas 中获取所有星期日的日期并用它提取相应的值,然后保存为新的数据框并进行减法
- python - 为什么打印语句不打印
- php - PHP:带有标准类对象的数组
- ios - 您必须为 12.9 英寸 iPad Pro(第 3 代)显示器上传 iMessage 屏幕截图
- reactjs - React:如何将元素分配给变量?
- python - Django - NoReverseMatch at /.. Reverse for ... 带参数(“”,52)
- javascript - 即使我有库,我的动画代码也无法在 Visual Studio Code 中运行
- python - TypeError:需要一个类似字节的对象,而不是“元组”deepQlearning