閱讀850 返回首頁    go 阿裏雲 go 技術社區[雲棲]


如果給你一個 shell,你可以幹什麼?

使用函數計算API 網關做了一個web shell: 隨時隨地打開一個 shell,用完即走。

screenshot

歡迎大家來玩,項目地址:

architecture

這個項目中我們用到了以下組件:

  1. 使用 nodejs 開發,通過 reactify 生成瀏覽器代碼
  2. 根據用戶輸入的命令,把請求發送到 API 網關
  3. 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

  上一篇:go  雲服務器 ECS 建站教程:部署 LAMP (CentOS 7.2)
  下一篇:go  智慧醫療解決方案可以大大減少醫療資源浪費!