如何在现有的Google Cloud项目中使用Firestore删除AppEngine默认服务

13

我有一个现有的Google Cloud项目,由Firebase创建,并在此项目中使用Firestore。决定尝试AppEngine并在此项目中运行Hello World示例

现在我想删除这个新部署的AppEngine服务,但有两个问题:

1)Hello World文档建议关闭AppEngine。在这种情况下,Firestore无法正常工作。

2)无法从CLI / UI中删除此服务,因为此服务已部署为默认服务。

 Issue deleting service: [default]
 The default service (module) cannot be deleted.

有没有一种方法可以从项目中删除此服务并保留Firebase Firestore?

4个回答

14

谢谢。禁用正是我所需要的。我有一个默认版本,无法停止,但仍会受到搜索引擎机器人扫描的流量。 - thinkanotherone

3

2) 由于该服务已作为默认服务部署,因此无法通过CLI/UI删除该服务。

请参见https://cloud.google.com/nodejs/getting-started/delete-tutorial-resources .

您唯一可以删除App Engine应用程序的默认版本的方法是删除项目。但是,您可以在GCP控制台中停止默认版本。此操作会关闭与该版本关联的所有实例。如果需要,您可以稍后重新启动这些实例。 在App Engine标准环境中,只有当您的应用程序具有手动或基本缩放时,才能停止默认版本。


1
感谢您的回复@zkohi!在版本页面上,Stop也不可用,并显示消息“您只能停止手动缩放、基本缩放或灵活环境中的版本”。该环境为标准环境。 - Kseniia

2
作为UI中显示的禁用“停止”按钮的解释:
只能停止手动缩放、基本缩放或灵活环境中的版本。
解决方案是使用灵活环境部署另一个默认服务,停止它,然后删除标准环境下的应用程序:
1)更改app.yaml: runtime: nodejs env:flex 2)运行gcloud app deploy 3)使用UI或CLI停止新版本
4)删除旧版本

这对我没有起作用。我已经在flex环境中部署了一个应用程序,但仍然看到相同的错误[default]: INVALID_ARGUMENT: The default service (module) cannot be deleted - vikas027

0

tl;dr: 部署一个hello world应用程序到弹性环境中,替换默认服务,然后停止它。无需删除,因为默认服务无法删除。

我假设:

  • 您想要删除默认的App Engine服务,但是
  • 您希望在同一项目中继续使用Google Cloud Firestore。

可能出现的问题:

  • 您无法仅禁用Google App Engine而不禁用Firestore
  • 您无法删除默认服务
  • 您无法停止默认服务,因为它可能使用一些标准环境的扩展设置部署到标准环境中,这可能导致实例无法停止

解决方法:

  1. Deploy a hello world application to the flexible environment. You can do this in Google Cloud Shell.

    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
    cd nodejs-docs-samples/appengine/hello-world/flexible
    gcloud app deploy
    
  2. Under Versions, stop the newly-deployed version and delete the old version.

  3. Confirm that the instance count is 0.

所以该服务并未被删除,只是停止了并且不会为实例收费。您仍然可以继续使用Firestore。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接