google-app-engine - 将 Datastore Admin 映射到不同的 URL?
问题描述
编辑:经过进一步检查,我发现 Datastore Admin 的 URL 已经是https://ah-builtin-python-bundle-dot-[project-id].appspot.com/_ah/datastore_admin?app_id=[project-id]
. 它可能在实施“默认”标签之前启用,因此它正在捕获所有进入子域的流量。因此,无需重新映射 URL。
我已经添加了这个现有项目来处理它,它的 [project-id].appspot.com 已经被一个库存数据存储管理页面占用。
我需要托管更多的应用程序 URL,其中一些用作 PubSub 端点,所以我发现这个线程解释说我需要做的就是在 app.yaml 中添加一个服务标签。
但是,在部署时,我收到此错误
错误:(gcloud.app.deploy)INVALID_ARGUMENT:您上传到新应用程序的第一个服务(模块)必须是“默认”服务(模块)。请在上传“upload-watcher”服务(模块)的版本之前上传“默认”服务(模块)的版本。有关更多信息,请参阅文档。Python:(https://developers.google.com/appengine/docs/python/modules/#Python_Uploading%%20modules)Java:(https://developers.google.com/appengine/docs/java/modules/#Java_Uploading %%20个模块)
'upload-watcher' 是我分配给此应用引擎应用的服务名称。
该用户遇到了类似的问题,但他寻求了不同的解决方法,而答案只是概念性的。
机械地,这是添加到所选 app.yaml 中的正确代码吗?:
service: default
此外,在我看来,Datastore Admin 不应该成为默认服务,并且应该或多或少地从公众视野中隐藏起来。因此,理想情况下,我想将数据存储管理员重新映射到辅助服务 URL,例如
datastore-admin-dot-[project-id].appspot.com
如何才能做到这一点?
解决方案
您提到的第一个线程中讨论的解决方案意味着新服务的单独.yaml
配置文件,而不仅仅是a service tag into the app.yaml file
(现有的)。
就我个人而言,我建议将服务保存在 GAE 应用程序目录内单独的并排子目录中,请参阅Can a default service/module in a Google App Engine app be an Brother of an non-default one in the folder结构体?
default
您遇到的错误与您提到的第二个线程类似:您在尝试部署服务时没有已部署的upload-watcher
服务。
不要过多地考虑数据存储管理“映射”部分 - 您可能会被第二个线程误导 - 数据存储管理不是 GAE 服务/模块,它是一个应用级设施,涵盖了所有共享的应用程序服务应用程序的数据存储。首先让您的服务运行,如果您在这个方向上看到问题,请提出一个单独的问题,现在它只会增加混乱。
更新:
是的,service: default
默认服务是正确的。或者,您可以根本没有service
配置 - 效果相同。
根据使用的部署命令(更具体地说是--version
可选参数),将创建新的服务版本或覆盖现有版本。另请参阅Google App Engine 上的持续集成/部署/交付,风险太大?
但是,正如您所观察到的,为数据存储管理设施提供服务是默认完成的,而不是通过配置特别启用,因此无论是否覆盖现有版本,它都可以工作。
推荐阅读
- javascript - 错误消息未显示第一次反应
- ios - 从一个函数中获取不同的数据
- c - Goto 和 Code Repetition - 在这种情况下可以避免吗?
- maven - 如何在 GIT BASH 中克隆后运行 maven 命令时解决对象堆错误
- linux - 如何将所有文件从一个目录复制到另一个目录,不包括以 bash 脚本中给定字符串开头的文件
- mysql - 无法连接到 ubuntu 中的 mysql
- kubernetes - 错误:(gcloud.container.clusters.get-credentials)[Errno 60] 操作超时
- amazon-web-services - AWS Graphql 错误 - 放大突变无法写入 dynamoDB
- cookies - Chrome 扩展程序会保存 cookie 吗?
- javascript - 旋转图像重叠