【问题标题】:"Function failed on loading user code. Error message: You must specify a region." when uploading function through GCF online console“加载用户代码时功能失败。错误消息:您必须指定一个区域。”通过 GCF 在线控制台上传功能时
【发布时间】:2019-12-24 13:20:33
【问题描述】:

在一个框架内,我正在构建一些在主要 Faas 提供程序(aws、gcp、azure、alicloud)上运行的函数。主函数本质上是一个基于环境变量的 elif,它决定调用哪个函数(“在 aws 上做事”、“在 gcp 上做事”)等。这些函数基本上只是从适当的数据库(aws->dynamo、gcp->firestore、azure->cosmos)中读取。

通过他们的门户网站将我的 zip 上传到谷歌云功能时,我收到以下错误:

Function failed on loading user code. Error message: You must specify a region.

我担心这与我的 piplock 文件有关,并且与 aws 依赖项发生冲突。不过不确定。我无法在网上找到有人使用 gcp 收到此错误消息的任何地方(当然不是通过使用在线控制台),并且只能使用 aws 看到此错误的结果。

我的 requirements.txt 文件很简单:

google-cloud-firestore==1.4.0

piplock 包含 google 要求,但未在任何地方说明该地区。但是,当使用 gcp 控制台时,它会自动上传到 us-central1。

【问题讨论】:

  • 在 Google 网上论坛中发现错误。如果其他人有这个问题,那是因为您正在导入 boto 并上传到 gcp。 GCP说这是boto的错。因此,您可以拆分代码以便只引入必要的 gcp 文件,或者根据环境变量将导入包装在 if 中。
  • 你能链接到你找到的线程吗?
  • 它在 google 上一个封闭的 Cloud Functions Beta 测试组中。如果您可以访问该组,链接是groups.google.com/forum/#!searchin/cloud-functions-beta-testers/…
  • gcp 产品经理的响应是“大家好——关闭它。原来这不是 Cloud Functions/gcloud 中的问题。错误是由 boto 库发出的:“您必须指定一个区域。”这很令人困惑,因为区域的概念适用于 AWS 和 GCP。我们正在对我们的错误消息进行调整,希望将来能更明显一点。“
  • 你能添加这个作为答案吗?我认为这对社区很有用

标签: python python-3.x google-cloud-platform google-cloud-firestore google-cloud-functions


【解决方案1】:

在 Google 网上论坛中发现错误。如果其他人有这个问题,那是因为您正在导入 boto 并上传到 gcp。 GCP说这是boto的错。因此,您可以拆分代码以便只引入必要的 gcp 文件,或者根据环境变量将导入包装在 if 中。

gcp 产品经理的响应是“大家好——关闭它。事实证明这不是 Cloud Functions/gcloud 中的问题。错误是由 boto 库发出的:“您必须指定一个区域."。这很令人困惑,因为区域的概念适用于 AWS 和 GCP。我们正在对错误消息进行调整,希望将来能更明显一点。"

【讨论】:

    猜你喜欢
    • 2019-09-20
    • 1970-01-01
    • 1970-01-01
    • 2017-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多