Gig*_*ass 13 go google-cloud-platform google-cloud-functions
如标题中所述,每当我将响应标头设置为默认值 (200) 之外的任何状态代码时,我都会在日志中收到响应错误。这在几周前没有发生,所以我不确定为什么现在会发生。另一个线程: Firebase Cloud Function finish with status: 'response error' 表示我的函数响应的 HTTP 请求高于 10MB。但是,我决定只部署一个函数(getTest),它只是
package foo
import (
"net/http"
)
func GetTest(w http.ResponseWriter, r *http.Request) {
// Status Code Test
w.WriteHeader(201) // Testing with status code 201
return
}
Run Code Online (Sandbox Code Playgroud)
我仍然返回“响应错误”。将上述测试代码中的任何状态代码(201,400,404,500 等)替换为 200 将导致状态代码 200 的成功 GCP 日志。
此外,如果先前的调用以响应错误结束,GCP有时会自动再次调用该函数,状态为 200,如图#1 所示。我说有时是因为我无法始终如一地展示这个问题。我相信,在这次重新调用期间,我的代码中没有实际执行任何内容,它只是返回 200。
有人知道这个问题吗?
编辑:我还想指出我只在云函数日志上看到这个“响应错误”。在我的 API 网关日志中,我看到函数结束时的正确状态代码。
更新 :
\n每当标头状态代码未设置为 200 时,GCP 函数就会在日志中收到响应错误Function execution took xxx ms. Finished with status: response error
相当长的一段时间。这是 Google 的内部问题,已于 2022 年 5 月 17 日推出时修复。您可以预期云函数现在按预期方式工作。如果您还有任何疑问或者问题仍然存在,您可以通过issuestracker.google.com/issues/\xe2\x80\xa6联系 Google 支持人员或提出支持案例。