当前位置: > > > > index.yaml 在 Google App Engine for Golang 中的何处导入?
来源:stackoverflow
2024-04-26 22:03:38
0浏览
收藏
各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题是《index.yaml 在 Google App Engine for Golang 中的何处导入?》,很明显是关于Golang的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得很不错的话,欢迎各位多多点评和分享!
问题内容
使用 bookshelf 教程和 auth 包。
listbookscreatedby 查询失败并出现以下错误:
could not list books: datastoredb: could not list books: rpc error: code = failedprecondition desc = no matching index found. recommended index is: - kind: book properties: - name: createdbyid - name: title
但是,index.yaml确实存在,并且与app.yaml位于同一目录中:
索引 yaml 内容:
indexes: # This index enables filtering by "CreatedByID" and sort by "Title". - kind: Book properties: - name: CreatedByID direction: asc - name: Title direction: asc
为什么索引无法导入?
index.yaml 导入到 golang app engine 代码中的哪个位置?
我搜索了 src,但什么也没找到。
解决方案
index.yaml
文件不打算在您的应用程序代码中导入/使用,它旨在部署到数据存储服务(与您的应用程序部署分开/独立!)以配置其索引活动。来自:
您将 index.yaml
配置文件上传到 Cloud Datastore 使用 gcloud 命令。如果 index.yaml
文件定义了任何索引 如果 Cloud Datastore 中不存在,则会构建这些新索引。
Cloud Datastore 可能需要一段时间才能创建所有索引并 因此,这些索引不会立即可供 App Engine 使用。 如果您的应用程序已配置为接收流量,则例外 对于需要仍在索引中的索引的查询可能会发生 构建过程。
为了避免异常,您必须留出时间来构建所有索引。
只有在正确部署之后,并且在需要时完成索引更新操作(即索引达到 Serving
状态),应用程序需要该索引的查询才能工作。
本地开发服务器在其数据存储模拟中也使用 index.yaml
文件。默认情况下,它会自动使用遇到的查询所需的索引更新文件,但该文件不会自动部署到数据存储区。但您可以使用 --require_indexes
选项禁用此行为。来自:
--require_indexes=yes|no
禁用 index.yaml
文件中自动生成条目。 相反,当应用程序发出要求其 文件中定义了索引,但未找到索引定义,则 将引发异常,类似于运行时发生的情况 应用程序引擎。默认值为 no
。
以上就是《index.yaml 在 Google App Engine for Golang 中的何处导入?》的详细内容,更多关于的资料请关注公众号!