gpt4 book ai didi

python-3.x - Google Cloud Function 已完成,状态为 : 'connection error'

转载 作者:行者123 更新时间:2023-12-03 17:01:38 24 4
gpt4 key购买 nike

我有一个由 Github webhook 调用的 HTTP 云函数(Python 3.7),当事件类型不是拉取请求时,它通常(但不总是)退出并出现连接错误。当它没有进入 if 块时,它总是干净地退出。

这是函数:

def my_func(request):
event = request.headers.get("X-GitHub-Event", "unknown")
if event != "pull_request":
print("This is not a pull request")
return "This is not a pull request", 200
return "OK", 200

在日志中它显示为:
"This is not a pull request"
"Function execution took 11 ms, finished with status: 'connection error'"

在 Github 端,响应是 HTTP/500 错误,消息为“错误:无法处理请求”。

我已将其重新部署为不同项目中的新功能,并且发生了同样的事情。对于同一事件,有时一个函数会返回 200,而另一个函数会返回 500。知道这里发生了什么吗?谢谢 :)

最佳答案

您似乎正在达到 Max uncompressed HTTP request size in Cloud functions 的极限这是 10MB .这可能就是为什么有些请求可以,有些则不行的原因。

您可能需要考虑使用 Google App Engine 或以某种方式限制来自 Github 的请求/响应的大小。

更新 :

唯一值得测试的另一件事是尝试为几种请求类型设置 if else 条件,以消除那里出现问题的可能性。

例如:

def my_func(request):
event = request.headers.get("X-GitHub-Event", "unknown")
if event == "[Type1]":
print("This is [Type1]")
return "This is not a pull request", 200
elif event == "[Type2]":
print("This is [Type2]")
return "OK", 200

看看完全相同的代码是否可以通过使用 GAE 而不是 Cloud Functions 来工作会很有趣

否则,这将是 webhook 的一个特定问题,需要在 Github webhook 处理程序的 Github 存储库或最适合的位置报告。

关于python-3.x - Google Cloud Function 已完成,状态为 : 'connection error' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59900734/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com