谷歌云功能python37,存储触发器赢了';t部署并赢得';我不给任何日志

谷歌云功能python37,存储触发器赢了';t部署并赢得';我不给任何日志,python,google-cloud-platform,google-cloud-functions,Python,Google Cloud Platform,Google Cloud Functions,我尝试从终端使用gcloud进行部署,并尝试通过UI进行部署,但在部署期间(构建工作)在部署日志中出现相同的错误: 错误:函数终止。建议的操作:检查日志以了解终止原因。无法初始化函数 gcloud告诉我以下几点: 错误:(gcloud.functions.deploy)操作错误:代码=13,消息=由于运行状况检查失败,函数部署失败。这通常表示代码生成成功,但在测试执行期间失败。检查日志以确定原因。如果是暂时的,请在几分钟后再次尝试部署 所以,我去了日志什么都没有,娜达,尼斯巴。一句话也没有。尝试

我尝试从终端使用gcloud进行部署,并尝试通过UI进行部署,但在部署期间(构建工作)在部署日志中出现相同的错误:

错误:函数终止。建议的操作:检查日志以了解终止原因。无法初始化函数

gcloud告诉我以下几点:

错误:(gcloud.functions.deploy)操作错误:代码=13,消息=由于运行状况检查失败,函数部署失败。这通常表示代码生成成功,但在测试执行期间失败。检查日志以确定原因。如果是暂时的,请在几分钟后再次尝试部署

所以,我去了日志什么都没有,娜达,尼斯巴。一句话也没有。尝试将RAM增加到2GB,尝试将驻留在main.py相同级别的.py文件打包到根目录之外,没有成功。 显然,如果我在本地从测试脚本调用main.py中的handler函数,并使用requirements.txt中的包在virtualenv(py37)中运行它,它就会工作。使用功能框架在本地运行它?它起作用了

以下是我目前调用gcloud部署的方式:

gcloud functions deploy load_to_bigquery \
  --project=project-platform-dev \
  --region europe-west1 \
  --runtime python37 \
  --memory 1024MB \
  --entry-point handler \
  --env-vars-file .env.dev.yaml \
  --trigger-resource the-source-bucket \
  --trigger-event google.storage.object.finalize

目前,GCF受到此问题的影响:

一些客户报告了Python3.7/Python3.8云功能 部署功能失败,出现以下错误 信息:

Python3.7运行时:加载用户代码时函数失败

“由于运行状况检查失败,函数部署失败。此 通常表示代码生成成功但失败 在测试执行期间。检查日志以确定原因。请重试 如果是暂时的,几分钟后再次部署。“

客户(用户)中的Stackdriver日志中没有可见错误 然而,在项目内部,我们确实收到了针对 问题包含的Python37运行时环境库函数 使用它的一个依赖项

GCF Python37运行时中使用的aiohttp库使用 yarl依赖性和此问题的根本原因是 雅尔图书馆)

短期修复程序发布前可用的变通方法:

  • 在中显式固定yarl依赖项的版本 用于Python37源代码的requirements.txt文件,如

    # requirements.txt
    yarl==1.4.2
    
  • 另一种选择是使用Python3.8Beta运行时(它 使用不需要保留的更新/升级的生成过程 安装到预安装的软件包/库上),因此,此问题应 在Python3.8上并不流行 运行时:


您的requirement.txt文件是什么?python37环境中的aiohttp和yarl包中存在一个已知问题@乔桑:谢谢你,它解决了这个问题,作为伊戈尔的回答