本文介绍Custom Container HTTP函数的请求、响应规范以及代码示例。

背景信息

函数计算系统会将用户的请求,包括请求路径(Path)、请求头(Headers)、请求体(Body)以及Common Headers转发给HTTP server。与事件函数不同,HTTP函数不要求实现/invoke以及/initialize等路径,您可以平滑迁移一个已有的HTTP Web应用。更详细的介绍请参见Custom Runtime函数调用

函数入参

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

函数返回结构

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

代码示例

以下Node.js Express示例中,GET和POST方法分别路由至不同的Handler,您也可以根据需要做任意的Path和Handler映射。

'use strict';

const express = require('express');

// Constants
const PORT = 9000;
const HOST = '0.0.0.0';

// HTTP function get
const app = express();
app.get('/*', (req, res) => {
  res.send('Hello FunctionCompute, http GET');
});

const app = express();
app.post('/*', (req, res) => {
  res.send('Hello FunctionCompute, http POST');
});

app.listen(PORT, HOST);
console.log(`Running on http://${HOST}:${PORT}`);