【问题标题】:Can't open recently created cloud function to edit/update, but functions still trigger successfully无法打开最近创建的云功能进行编辑/更新,但功能仍然触发成功
【发布时间】:2020-10-05 01:01:00
【问题描述】:

我们最近将一组函数推送到一个新项目中,部署后我们注意到我们无法通过 GCP 界面访问任何函数。每当我们选择一个函数时,我们都会收到 “加载失败。” 错误,然后是文本:

加载时出错 /functions/details/us-central1/[函数名称]?project=[project-id]。 请再试一次。

这些函数在触发后仍然可以成功运行,但我们无法访问它们进行任何更改。

有什么建议吗?我们应该删除并重新部署吗?

我们正在使用内嵌编辑器和 Python 3.7。

编辑:其他详细信息

我们在尝试部署计划查询时也遇到了问题,任何点击创建都会让我们立即返回 BQ UI。我们的一些 BQ 表格不会加载到表格预览中,但仍然可以查询。

编辑:添加了照片

【问题讨论】:

  • 您的函数是否包含多个文件,或者它们都在一个文件中?
  • 函数的单个文件。我还注意到整个项目中的其他错误,一些 BQ 表未打开并且计划的查询 API 抛出错误。我想知道项目在设置时是否有问题(我们最近刚刚创建了这个项目)。

标签: python google-cloud-platform google-cloud-functions


【解决方案1】:

这可能是一个微妙的问题。

虽然云函数在控制台上不可编辑,但解决方法是使用云函数 API 检索代码,然后您可以在本地主机上编辑代码,最后使用 gcloud 进行更正再次部署命令。

为此,步骤是:

  1. 在 CloudShell 上运行以下命令

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" https://cloudfunctions.googleapis.com/v1/projects/<PROJECT_ID>/locations/<LOCATION>/functions/<FUNCTION_ID>:generateDownloadUrl

  1. 这将生成一个 URL,您可以在其中下载压缩文件中的代码。下载它
  2. 解压缩 zip 文件并按预期更新您的代码
  3. 按预期更新您的文件
  4. 在云外壳上移动到一个空文件夹
  5. 将文件上传到 Cloud Shell(为此您可以转到选项-> 上传文件)
  6. 使用命令部署云功能: gcloud functions deploy

【讨论】:

  • 这可能有助于访问代码并进行更改,但是当我们需要进行快速更改时,它不会帮助我们的团队利用 UI 中的任何内容。我在 GCP 的其他领域看到了问题,是否有可能在创建项目时出现会导致跨项目负载问题的更大问题?
  • 在最后一条评论中,这似乎是一个项目特定的问题,为此我建议您使用 GCP Support 创建一个案例
  • 我们的组织没有基于角色的支持。还有其他获得支持的解决机会吗?
猜你喜欢
  • 1970-01-01
  • 2019-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-28
  • 1970-01-01
  • 2015-04-13
  • 1970-01-01
相关资源
最近更新 更多