【问题标题】:Map Datastore Admin to a different URL?将 Datastore Admin 映射到不同的 URL?
【发布时间】:2019-06-08 01:26:23
【问题描述】:

编辑:经过进一步检查,我发现 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 已经被一个股票数据存储管理页面占用。

我需要托管更多的 apppot URL,其中一些作为 PubSub 端点,所以我找到 this thread 解释说我需要做的就是在 app.yaml 中添加一个服务标签。

但是,在部署时,我收到此错误

错误:(gcloud.app.deploy) INVALID_ARGUMENT:第一个服务 (模块)您上传到新应用程序必须是“默认”服务 (模块)。请上传“默认”服务(模块)的版本 在上传“upload-watcher”服务(模块)的版本之前。 有关更多信息,请参阅文档。 Python: (https://developers.google.com/appengine/docs/python/modules/#Python_Uploading%%20modules) 爪哇: (https://developers.google.com/appengine/docs/java/modules/#Java_Uploading%%20modules)

“upload-watcher”是我分配给此应用引擎应用的服务名称。

This user 遇到了类似的问题,但他寻求了不同的解决方法,而答案只是概念性的。

机械地,这是添加到所选 app.yaml 中的正确代码吗? :

service: default 

此外,在我看来,Datastore Admin 不应该成为默认服务,并且应该或多或少地从公众视野中隐藏起来。因此,理想情况下,我想将数据存储管理员重新映射到辅助服务 URL,例如

datastore-admin-dot-[project-id].appspot.com

如何做到这一点?

【问题讨论】:

    标签: google-app-engine google-cloud-platform google-cloud-datastore


    【解决方案1】:

    您提到的第一个线程中讨论的解决方案意味着新服务的单独.yaml 配置文件,而不仅仅是a service tag into the app.yaml file(现有的)。

    我个人建议将服务保存在 GAE 应用程序目录内的单独并排子目录中,请参阅 Can a default service/module in a Google App Engine app be a sibling of a non-default one in terms of folder structure? 中的实际示例

    您遇到的错误与您提到的第二个线程类似:当您尝试部署upload-watcher 服务时,您没有已部署的default 服务。

    不要过多地考虑数据存储区管理员“映射”部分 - 您可能会被第二个线程误导 - 数据存储区管理员不是 GAE 服务/模块,它是涵盖所有应用程序的应用程序级设施共享应用程序数据存储的服务。先让您的服务运行起来,如果您在这个方向上发现问题,请提出一个单独的问题,现在这只会增加混乱。

    更新:

    是的,service: default 对于默认服务是正确的。或者,您可以根本没有 service 配置 - 效果相同。

    根据使用的部署命令(更具体地说,--version 可选参数)将创建新的服务版本或覆盖现有版本。另见Continuous integration/deployment/delivery on Google App Engine, too risky?

    但是,正如您所观察到的,为数据存储管理设施提供服务是默认完成的,而不是通过配置特别启用,因此无论是否覆盖现有版本,它都可以工作。

    【讨论】:

    • 我知道 default 服务标签必须进入不同的 .yaml 文件,我希望设置为 default 的服务,但那行代码是否正确使用?另外,我担心如果我将我的新服务默认部署,它将接管主要的 apppot URL [project-id].appspot.com,并且团队和用户将失去对数据存储管理员的访问权限?还是不是这样?
    猜你喜欢
    • 2011-12-14
    • 2014-08-15
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 1970-01-01
    • 2015-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多