【发布时间】:2021-08-30 20:22:47
【问题描述】:
我在终端使用 gcloud 命令触发云功能时收到错误消息:
gcloud functions call function_name
在云功能日志页面上没有显示错误,任务完成没有问题,但是任务完成后,终端上显示此错误。
gcloud crashed (ReadTimeout): HTTPSConnectionPool(host='cloudfunctions.googleapis.com', port=443): Read timed out. (read timeout=300)
注意:我的函数超时设置为 540 秒,完成工作大约需要 320 秒
【问题讨论】:
-
我想知道
gcloud functions call超时是否是静态的(300s)?然后,您部署的函数是否具有更长的超时时间并不重要。你可以试试curl'ing 吗? -
或许
curl --request GET --max-time 540 --header "Authorization: Bearer $(gcloud auth print-access-token)" $(gcloud functions describe ${NAME} --project=${PROJECT} --format="value(httpsTrigger.url)") -
尝试这个
curl --request GET --max-time 540 --header "Authorization: Bearer $(gcloud auth print-access-token)" $(gcloud functions describe XXX --project=XXX --format="value(httpsTrigger.url)")产生curl: no URL specified!我在构造命令时遗漏了什么吗?同样在我原来的 gcloud 命令中,我传入了 --data 参数,我还需要将它包含在 curl 中吗? -
您可以单独运行嵌入的
gcloud命令来向自己证明它们都产生了合理的值。是的,抱歉,为任何 JSON 数据添加-d '{ ....}'并使用--request POST而不是GET -
第一个命令 (
gcloud auth ...) 获取访问令牌。第二个命令 (gcloud functions describe ...) 获取函数的端点。
标签: google-cloud-platform google-cloud-functions gcloud