如果給你一個 shell,你可以幹什麼?
使用函數計算和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 構架的函數計算服務;
也歡迎有興趣的同學加入一起開發函數計算:
最後更新:2017-08-13 22:28:50