GO,GAE,远程api和本地数据存储

时间:2014-09-02 10:32:32

标签: google-app-engine go

我对使用Go的GAE是全新的(实际上使用任何东西。对GAE来说是新的)。而我完全迷失了。我有一个小应用程序,其yaml文件看起来像这样

application: my-niceapp-636
version: beta
runtime: go
api_version: go1

handlers:

- url: /_ah/remote_api
  script: _go_app
  login: admin

- url: /static
  static_dir: static
  application_readable: true

- url: /.*
  script: _go_app
  login: admin

我在GO中写它。并按照本指南进行操作

https://developers.google.com/appengine/docs/go/tools/remoteapi#enabling_remote_api

在我的主文件中,我添加了这个导入 - _“appengine / remote_api”,当我点击URL时

http://localhost:8080/_ah/remote_api 

我看到了这个 - >

This request did not contain a necessary header.

但是,当我在远程(在appspot域中)访问相同的URL时,将提供默认索引页面。我不明白为什么会这样。这是正常的吗?也许是的,但对于像我这样根本没有的人。

我已将go_appengine / demos / remote_api / datastore_info.go的整个代码复制到我自己的gae应用程序目录并将其重命名为import_data.go并更改了从文件中读取密码的部分,而不是硬编码密码文件。这是唯一的区别。我给你这部分代码吼叫

var (
    host         = flag.String("host", "", "hostname of application")
    email        = flag.String("email", "", "email of an admin user for the application")
    //passwordFile = flag.String("password_file", "", "file which contains the user's password")
)
.
.
.
.
/*if *passwordFile == "" {
        log.Fatalf("Required flag: -password_file")
    }*/

    //p, err := ioutil.ReadFile(*passwordFile)
    /*if err != nil {
        log.Fatalf("Unable to read password from %q: %v", *passwordFile, err)
    }*/
    password := "xxxyyyzzz112233"//strings.TrimSpace(string(p))

其他一切都是一样的。在所有这些之后我试图通过

运行它
goapp run import_data.go -email myemail@gmail.com -host my-niceapp-636.appspot.com

我收到此错误---

无法创建上下文:无法联系服务器:未找到令牌:想要“7790585182047258325”;

之后它会吐出我们访问应用时通常会看到的整个索引文件。

我完全迷失了,并且说实话,我对Go涉及linode或亚马逊有更好的经验。谷歌耻辱他们让事情变得如此复杂。

如果需要,我想如何从我的localhost应用程序访问远程数据存储?

任何人都可以帮助我吗?

提前致谢

0 个答案:

没有答案