首页 > 解决方案 > 如何在 Cloud Run 上为 python 烧瓶应用启用云调试器

问题描述

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

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

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

按照文档,我有:

try:
  import googleclouddebugger
  googleclouddebugger.enable(
    breakpoint_enable_canary=True
  )

except ImportError:
  pass

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

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

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

在此处输入图像描述

在此处输入图像描述

标签: pythongoogle-cloud-rungoogle-cloud-debugger

解决方案


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

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

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

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


推荐阅读