Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/justjavac/deno_serverless_aliyun
为阿里云 serverless 平台添加 Deno Runtime
https://github.com/justjavac/deno_serverless_aliyun
aliyun aliyun-fc deno deno-module serverless serverless-functions
Last synced: 3 months ago
JSON representation
为阿里云 serverless 平台添加 Deno Runtime
- Host: GitHub
- URL: https://github.com/justjavac/deno_serverless_aliyun
- Owner: justjavac
- License: mit
- Created: 2020-04-29T05:56:00.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2022-07-25T14:11:29.000Z (over 2 years ago)
- Last Synced: 2024-10-04T11:58:35.765Z (4 months ago)
- Topics: aliyun, aliyun-fc, deno, deno-module, serverless, serverless-functions
- Language: TypeScript
- Homepage:
- Size: 39.1 KB
- Stars: 60
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# deno_serverless_aliyun
Deno + Serverless = Awesome
## 背景
目前阿里云的函数计算服务只支持 Nodejs、Python、PHP、Java、.Net。本项目使用阿里云的 custom runtime 功能开发了可运行 Deno 的 Serverless 环境。
## 使用
首先安装官方命令行工具 [Serverless Devs](https://docs.serverless-devs.com/serverless-devs/install):
```shell
npm install @serverless-devs/s -g
```或
```shell
yarn global add @serverless-devs/s
```安装成功后运行 [`s config`](https://docs.serverless-devs.com/serverless-devs/command/config) 配置 Account ID、Access Key ID、Secret
Access Key、Default Region Name。克隆(或下载)本仓库:
```shell
git clone [email protected]:justjavac/deno_serverless_aliyun.git
```## 部署
```shell
cd deno_serverless_aliyun
s deploy
```自定义部署:
1. 使用 Deno 打包 TypeScript 文件。这一步是可选的,提前打包文件而不是在运行时再编译可以提升 Deno Serverless 的冷启动性能。
```shell
deno task build
```2. 构建 Deno Serverless 运行环境:
```shell
s build
```3. 部署
```shell
s deploy
```## 测试
部署完成后我们可以测试刚才的函数。
```shell
s invoke --event "Hello World"
```控制台输出:
```plain
...
FC Invoke Result:
Hello World
```第一次运行时函数需要冷启,会稍微有点慢。
```plain
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](https://github.com/justjavac/deno_serverless_aliyun) 基于 MIT 许可协议发布。详细信息可以查看
[LICENSE](./LICENSE) 文件。