首页 > 解决方案 > 调用 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

标签: firebasego

解决方案


数据存储模式下的Firestore不支持Firestore API。您有以下选择:


推荐阅读