使用函数计算和API 网关做了一个web shell: 随时随地打开一个 shell,用完即走。
欢迎大家来玩,项目地址:
这个项目中我们用到了以下组件:
- 使用 nodejs 开发,通过 reactify 生成浏览器代码
- 根据用户输入的命令,把请求发送到 API 网关
- API 网关把请求发送到后端的函数计算,在函数中执行 shell 命令
函数的代码也非常简单:
'use strict';
var exec = require('child_process');
exports.handler = function(event, context, callback) {
console.log('event: %s', event.toString());
var evt = JSON.parse(event.toString());
var cmd = evt['queryParameters']['cmd'];
exec.exec(cmd, {}, function(err, stdout, stderr) {
console.log(stdout, stderr);
var body = '';
if (err) {
body = new Buffer(stderr).toString('base64');
} else {
body = new Buffer(stdout).toString('base64');
}
var resp = {
statusCode: 200,
isBase64Encoded: true,
body: body,
};
callback(null, resp);
});
};
欢迎大家来体验 serverless 构架的函数计算服务;
也欢迎有兴趣的同学加入一起开发函数计算: