【发布时间】:2018-05-23 07:46:49
【问题描述】:
我正在学习 appengine+go 教程,该教程与 Firebase 连接:https://cloud.google.com/appengine/docs/standard/go/building-app/。该代码可在https://github.com/GoogleCloudPlatform/golang-samples/tree/master/appengine/gophers/gophers-6 获得,除了我的 Firebase 密钥之外,它是相同的。
我让它在 dev_appserver.py 下本地工作得很好,它会查询 Vision API 并添加标签。但是,在我部署到 appengine 后,我在数据存储区收到了一个索引错误。如果我转到 Firebase 控制台,我会看到集合 (Post) 和作为时间戳的字段 (Posted)。
如果我更改此行:https://github.com/GoogleCloudPlatform/golang-samples/blob/master/appengine/gophers/gophers-6/main.go#L193 以删除Order("-Posted"),那么一切正常(重要的是要注意任何Order 调用都会导致它出错,除了我发布的测试记录是随机顺序的。
在appengine中运行时的错误信息是:“Getting posts: API error 4 (datastore_v3: NEED_INDEX): no matching index found.”
我尝试创建复合索引,或使用 --require_indexes=true 在本地进行测试,但它没有帮助我调试问题。
编辑:我已将其移至直接使用 Firebase 的 Datastore 库,而不是 GCP 更新。我从来没有解决过这个特定的问题,但能够继续我的应用程序实际工作:)
【问题讨论】:
标签: firebase google-app-engine google-cloud-datastore