【发布时间】:2023-12-26 06:52:01
【问题描述】:
我正在尝试使用 golang 的数据存储客户端库,但它不起作用。我通过 go -t 命令下载了它,也通过下载 github 文件手动下载了它。下载后,我已将库复制到我的 google-cloud-sdk 文件夹中。但是现在当我尝试启动 dev_appserver.py 时,缺少很多包。我必须手动导入它们还是有错误?
【问题讨论】:
标签: google-app-engine go google-cloud-datastore
我正在尝试使用 golang 的数据存储客户端库,但它不起作用。我通过 go -t 命令下载了它,也通过下载 github 文件手动下载了它。下载后,我已将库复制到我的 google-cloud-sdk 文件夹中。但是现在当我尝试启动 dev_appserver.py 时,缺少很多包。我必须手动导入它们还是有错误?
【问题讨论】:
标签: google-app-engine go google-cloud-datastore
您需要设置 go env。看来您没有 go env 设置。 例如:
11:35 $ go env
...
GOPATH="/Users/.../Goarea"
...
GOROOT="/usr/local/go"
在您的 GOPATH 中,您将拥有 bin/pkg/src。所以当你这样做时
go get -u cloud.google.com/go/datastore
它将被拉到 .../src/cloud.google.com/go/datastore
然后您可以导入 pkg 并在您的代码中使用它。
package main
import (
"encoding/json"
"log"
"net/http"
"google.golang.org/api/iterator"
"google.golang.org/api/option"
// Imports the Google Cloud Datastore client package.
"cloud.google.com/go/datastore"
"golang.org/x/net/context"
)
...
func main() {
ctx := context.Background()
projectID := "your id"
client, err := datastore.NewClient(ctx,
projectID, option.WithServiceAccountFile("YOUR CREDENTIAL.json"))
if err != nil {
log.Fatalf("Failed to create client: %v", err)
}
...
...
【讨论】: