2017-05-12 3 views
2

Ich versuche, die Datastore-Client-Bibliothek für Golang zu verwenden, aber es wird nicht funktionieren. Ich habe es über den Befehl go -t und auch manuell heruntergeladen, indem ich die Github-Dateien heruntergeladen habe. Nach dem Download habe ich die Bibliotheken in meinen google-cloud-sdk-Ordner kopiert. Aber jetzt, wenn ich versuche, dev_appserver.py zu starten, gibt es so viele fehlende Pakete. Muss ich sie alle manuell importieren oder gibt es einen Fehler?Google App Engine Golang Importe funktionieren nicht

Antwort

1

Sie müssen Setup gehen env. Es scheint, Sie haben nicht gehen env Setup. Zum Beispiel:

11:35 $ go env 
... 
GOPATH="/Users/.../Goarea" 
... 
GOROOT="/usr/local/go" 

Innerhalb Sie GOPATH würden Sie sind/pkg/src haben. Also, wenn Sie tun

go get -u cloud.google.com/go/datastore 

Es wird .../src/cloud.google.com/go/Datenspeicher

dann gezogen werden Sie pkg importieren und verwenden Sie es in Ihrem Code.

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) 
    } 
... 
... 
+0

Vielen Dank jetzt funktioniert es! – ReasoN

+0

Ist google.golang.org/appengine/datastore veraltet? Ich habe versucht, Ihren Code in mein App-Programm zu implementieren, aber es wird nicht funktionieren. Wie verwende ich diese Inside-Handler-Funktionen? – ReasoN

+0

Ich bin mir nicht sicher über appengine. Ich kann sehen, es gibt Beispiele, um Handle-Funktionen zu konstruieren, werfen Sie einen Blick auf diesen Link https://godoc.org/google.golang.org/appengine/datastore – Askar