为什么HTTP函数无法执行?

为什么函数无法结束?

请检查是否调用返回函数。

  • Node.js需调用response.send()
  • Python需调用return
  • PHP需调用return new Response()
  • Java需调用HttpServletResponse
  • C#需调用return
  • Custom Runtime以各语言示例为准。

错误排查

错误主要分为以下两种:
  • 请求错误是指发送的Request不符合标准,在Response里报错状态码为4xx。
  • 函数错误即编写的函数有问题,会报5xx状态码。
下表描述了请求错误和函数错误可能出现的场景,以便您迅速排查问题。
错误类型 X-Fc-Error-Type HTTP状态码 原因分析 是否计费
请求错误 FcCommonError 400 您的请求超过Request限制项的限制。详情请参见使用限制
FcCommonError 400 调用需要身份认证的函数的Request没有传入Date信息或Authorization信息。
FcCommonError 403 调用需要身份认证的函数的Request的签名错误,即Authorization不正确,由于Date参与签名计算,且超过15 min,签名失效,一种常见的原因是使用需要访问认证的HTTP触发器,Request header中发送的Date据当前时间超过15 min,导致签名失效。
FcCommonError 403 您的Request请求使用了HTTP触发器中未配置的请求方法。例如,HTTP触发器中的请求方法只配置了GET方法,却发送POST方法的HTTP请求。
FcCommonError 404 向没有设置HTTP触发器的函数发送HTTP请求。
用户流控 FcCommonError 429 用户被流控,可减小并发量或者联系函数计算开发团队提高并发度。
函数错误 UnhandledInvocationError 502 函数的返回值超过Response限制项的限制。详情请参见使用限制
UnhandledInvocationError 502 函数代码有语法错误或者异常。
UnhandledInvocationError 502 向未使用HTTP入口函数的函数发送HTTP请求。
系统错误 FcCommonError 500 函数计算系统错误,可重试解决。
系统流控 FcCommonError 503 函数计算系统流控。可用指数退避方式重试。

如果问题还未能解决,请联系我们