本文介绍Custom Runtime中HTTP函数的入参、返回结构、函数判断及调用说明。

背景信息

函数计算系统会将用户的请求,包括Path、Body以及Common Headers转发给HTTP Server。与事件函数不同,HTTP函数不要求将/invoke以及/initialize等请求转发给HTTP Server,您可以平滑迁移已有的HTTP Web应用。

函数入参

  • event:POST请求体(Body)。
  • context:
    • 通过x-fc-access-key-idx-fc-access-key-secretx-fc-security-token请求头获取服务角色中的临时访问凭证访问云服务。
    • 通过x-fc-request-id获取当前请求ID。
    • 所有请求头信息请参见Common Headers

函数返回结构

函数结果通过HTTP响应结构体返回。

函数判断

对于Custom Runtime,您可以根据Headers中的x-fc-control-path来判断HTTP函数调用和事件函数调用。

  • /invoke:该请求为事件函数调用。/invoke表示是Invoke函数调用请求。
  • /initialize:该请求为事件函数调用。/initialize表示第一次创建执行环境时,系统自动发起的Initializer函数调用请求。
  • /http-invoke:该请求为HTTP函数调用。/http-invoke表示是一个HTTP Invoke函数调用请求。函数计算会将您的请求(包括Path、Body以及Headers)加上Common Headers后转发给Custom Runtime,Custom Runtime返回的响应头和响应体则会被返回给客户端。

函数调用说明

当函数是HTTP函数调用时,您的函数提供的Web API、Web Page将直接被客户端访问,因此不需要实现非HTTP函数调用时所实现的/invoke,Custom Runtime会收到除Common Headers之外的Headers。

Header 描述
x-fc-base-path 当您尚未配置自定义域名时,x-fc-base-path的值是/2016-08-15/proxy/${servicename}/${functionname}/,代码里可能需要将该值设定为Web App的Path Base,不同语言或框架有不同的处理。