使用 serverless-http 插件轉換請求
Koa
// index.js
'use strict'
const serverless = require('serverless-http')
const Koa = require('koa')
const app = new Koa()
app.use(async (ctx) => {
ctx.body = 'Hello World Koa'
})
// 執行方法
exports.main_handler = serverless(app)
express
// index.js
'use strict'
const serverless = require('serverless-http')
const express= require('express')
const app = express()
// 騰訊雲函數Api觸發器默認不會觸發
app.get('/', (req, res) =>{
res.send('Hello World! express : /')
})
// 騰訊雲函數Api觸發器默認不會觸發
app.get('/user', (req, res) =>{
res.send('Hello World! express : /')
})
// 使用帶雲函數名稱的路由 可以觸發
// test 函數名稱
app.get('/test', (req, res) =>{
res.send('Hello World! express : /')
})
// 執行方法
exports.main_handler = serverless(app)
關於騰訊雲函數發佈後找不着路由問題
解決 /雲函數名 之外路由找不着問題
// 執行方法
exports.main_handler = async (event, context, callback) => {
// 刪除函數名稱
if(event['path'] == '/'+ context.function_name)
event['path'] = '/'
else
event['path'] = event['path'].replace('/'+ context.function_name,'')
return await serverless(app)(event,context)
};