登录
首页 >  Golang >  Go问答

当我的标头状态代码不是200时,GCP 日志会显示函数“执行时间为 xxx 毫秒,并显示已完成状态为:响应错误”

来源:stackoverflow

时间:2024-03-01 09:30:27 151浏览 收藏

本篇文章向大家介绍《当我的标头状态代码不是200时,GCP 日志会显示函数“执行时间为 xxx 毫秒,并显示已完成状态为:响应错误”》,主要包括,具有一定的参考价值,需要的朋友可以参考一下。

问题内容

如标题中所述,每当我将响应标头设置为默认值 (200) 之外的任何状态代码时,我都会在日志中收到响应错误。这在几周前没有发生,所以我不确定为什么现在会发生。另一个线程:firebase cloud function 已完成状态:“响应错误” 说我的函数响应的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
}

我仍然返回“响应错误”。将上述测试代码中的任何状态代码(201,400,404,500 等)替换为 200 将导致状态代码 200 的成功 gcp 日志。

此外,如果上一次调用以响应错误结束(如图 1 所示),gcp 有时会自动再次调用该函数,状态为 200。我说有时是因为我无法始终如一地展示这个问题。我相信,在重新调用期间,我的代码中的任何内容都没有实际执行,它只是返回 200。

有人知道这个问题吗?

编辑:我还想指出我只在云函数日志上看到这个“响应错误”。在我的 api 网关日志中,我看到函数结束时的正确状态代码。


正确答案


更新:

GCP 函数在日志中收到响应错误 Function 执行花费了 xxx 毫秒。每当标题状态代码未设置为 200 时,就会在相当长的一段时间内出现状态:响应错误。这是 Google 的一个内部问题,该问题已于 2022 年 5 月 17 日推出时得到修复。您可以期望云功能按预期工作现在的方式。如果您还有任何疑问或者问题仍然存在,您可以拨打 issuetracker.google.com/issues/… 联系 Google 支持人员或提出支持案例。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>