1

我正在尝试为我在 Cloud Run 中运行的 Flask 应用启用 Google Cloud Debugger。

该项目是一个简单的“Hello World”,带有 Flask 和 Dockerfile。将 Bitbucket 的代码同步到 Cloud Source Repositories 并设置为在主分支更新时触发启动。

一切都按预期工作,新的推动触发了成功的构建。不过,现在我想添加 Cloud Debugger 并遇到了一些问题。

按照文档,我有:

  • 启用云调试器 API
  • 添加pip install google-python-cloud-debugger到我的 Dockerfile
  • 在我的应用程序早期添加了以下代码
try:
  import googleclouddebugger
  googleclouddebugger.enable(
    breakpoint_enable_canary=True
  )

except ImportError:
  pass

我推送了更改,构建成功。

我可以看到 Cloud Repository 显示了正确的提交,但是当我在调试器下查看时,没有可见的应用程序(下面的屏幕截图 1),如果我在 Cloud Source Repo 中单击“开始调试”,我会收到一条消息说我需要设置调试器(截图 2)

谁能告诉我我错过了什么?

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

0

检查您的应用程序文件夹中是否有服务帐户凭据文件:

  1. 创建凭据文件
  2. 从 Cloud Run 控制台中删除您的应用
  3. 将您的应用重新部署到 Cloud Run
  4. 如果您正确执行了这些步骤,您的应用程序应该会显示在调试器页面上。

问题的可能原因是您的应用由于缺少身份验证而无法与您的 GCP 项目通信。

如果它不起作用,请使用部署应用程序时提供的应用程序日志链接,并与错误共享日志。

于 2021-09-24T14:07:50.117 回答