Deno + Serverless = Awesome
目前阿里云的函数计算服务只支持 Nodejs、Python、PHP、Java、.Net。本项目使用阿里云的 custom runtime 功能开发了可运行 Deno 的 Serverless 环境。
首先安装官方命令行工具 Serverless Devs:
npm install @serverless-devs/s -g
或
yarn global add @serverless-devs/s
安装成功后运行 s config
配置 Account ID、Access Key ID、Secret
Access Key、Default Region Name。
克隆(或下载)本仓库:
git clone [email protected]:justjavac/deno_serverless_aliyun.git
cd deno_serverless_aliyun
s deploy
自定义部署:
-
使用 Deno 打包 TypeScript 文件。这一步是可选的,提前打包文件而不是在运行时再编译可以提升 Deno Serverless 的冷启动性能。
deno task build
-
构建 Deno Serverless 运行环境:
s build
-
部署
s deploy
部署完成后我们可以测试刚才的函数。
s invoke --event "Hello World"
控制台输出:
...
FC Invoke Result:
Hello World
第一次运行时函数需要冷启,会稍微有点慢。
Duration: 9.27 ms, Billed Duration: 12 ms, Memory Size: 512 MB, Max Memory Used: 41.50 MB
Duration: 1.66 ms, Billed Duration: 2 ms, Memory Size: 512 MB, Max Memory Used: 41.62 MB
Duration: 1.41 ms, Billed Duration: 2 ms, Memory Size: 512 MB, Max Memory Used: 41.87 MB
Duration: 1.50 ms, Billed Duration: 2 ms, Memory Size: 512 MB, Max Memory Used: 42.25 MB
Duration: 1.41 ms, Billed Duration: 2 ms, Memory Size: 512 MB, Max Memory Used: 42.50 MB
deno_serverless_aliyun 基于 MIT 许可协议发布。详细信息可以查看 LICENSE 文件。