找不到包“;firebase.google.com/go“;在谷歌云功能

找不到包“;firebase.google.com/go“;在谷歌云功能,firebase,go,google-cloud-firestore,google-cloud-functions,google-cloud-sql,Firebase,Go,Google Cloud Firestore,Google Cloud Functions,Google Cloud Sql,我试图运行一些示例代码,在Firestore服务器中使用云函数存储一些随机数据,但是,云函数部署命令拒绝生成该命令: //包p包含一个HTTP云函数。 包p 进口( //... firebase“firebase.google.com/go” “日志” “net/http” “操作系统” ) //Store1将数据存储在FireBase上 func Store1(w http.ResponseWriter,r*http.Request){ //使用应用程序默认凭据 ctx:=context.Ba

我试图运行一些示例代码,在Firestore服务器中使用云函数存储一些随机数据,但是,云函数部署命令拒绝生成该命令:

//包p包含一个HTTP云函数。
包p
进口(
//...
firebase“firebase.google.com/go”
“日志”
“net/http”
“操作系统”
)
//Store1将数据存储在FireBase上
func Store1(w http.ResponseWriter,r*http.Request){
//使用应用程序默认凭据
ctx:=context.Background()
conf:=&firebase.Config{ProjectID:“firefire”}
app,err:=firebase.NewApp(ctx,conf)
如果错误!=零{
log.Fatalln(错误)
}
客户端,错误:=app.Firestore(ctx)
如果错误!=零{
log.Fatalln(错误)
}
延迟客户端。关闭()
_,389;,err=client.Collection(“users”).Add(ctx,map[string]接口{}{
“第一”:“Ada”,
“last”:“Lovelace”,
“出生”:1815年,
})
如果错误!=零{
log.Fatalf(“添加一个级别:%v失败”,错误)
}
fmt.Println(“ENV:+os.Getenv(“VAR1”))
fmt.Fprint(w,html.EscapeString(d.Message))
}
这是我得到的一个错误:

localhost:store1 b$ ./deploy.sh
Updated property [functions/region].
Deploying function (may take a while - up to 2 minutes)...failed.
ERROR: (gcloud.functions.deploy) OperationError: code=3, message=Build failed: /tmp/sgb/gopath/src/serverlessapp/vendor/p/store1.go:6:2: cannot find package "firebase.google.com/go" in any of:
    /tmp/sgb/gopath/src/serverlessapp/vendor/firebase.google.com/go (vendor tree)
    /go/src/firebase.google.com/go (from $GOROOT)
    /tmp/sgb/gopath/src/firebase.google.com/go (from $GOPATH)
正如您所看到的,问题似乎是Google没有firebase.Google.com/go-on-Cloud函数引擎,因此我无法让我的无服务器配置执行firebase操作。 我是否应该转移到CloudSQL并支付11美元的费用? 我是否应该继续尝试让Firebase工作? 我应该试试Firebase函数吗?
请告知。

根据您的描述和代码,如果我清楚了解您的问题,您正试图触发HTTP云函数将数据写入云Firestore。
部署云功能时,请将“firebase.google.com/go”包打包为“Cloud-not-found”。因为“firebase.google.com/go”是进入网站的入口点。然而,云功能。根据您的要求,它似乎可以提供您需要的解决方案。

我理解您的答案,它非常有用。我试着把所有东西都放在谷歌云运行的Docker机器上,这样我以后就可以移植到另一个地方了,我的意思是,我和下一个家伙一样喜欢供应商锁定。但这还不足以让所有内容都依赖谷歌,我想把存储抽象成一个rest api,以便以后可以对其进行更改,老实说,我主要关心的是5万次的阅读限制,我觉得这可能太严格了。Felipe,你发布的问题会占用别人的时间。您未选择正确答案而将问题留待处理。请整理您的开放式问题并选择正确答案。当然,没有问题。