Как я могу выполнить скрипт / команду терминала в Google Compute Instance удаленно из моего приложения React? - PullRequest
0 голосов
/ 23 сентября 2019

Можно ли выполнить сценарий удаленно на экземпляре Google Compute Engine (GCE) из моего приложения реагирования?

Например, я хотел бы загрузить файл в облачное хранилище Google, а затем выполнить какой-либо сценарий удаленнокоторый читает загруженный файл и изменяет его (добавляя некоторые метаданные и т. д.)

Возможно ли это вообще?

1 Ответ

0 голосов
/ 23 сентября 2019

Для удаленного выполнения сценария необходимо подключиться к виртуальной машине.Для меня самый простой способ - это развернуть конечную точку на виртуальной машине (что бы это ни было, но подумайте, чтобы защитить ее с помощью SSL и аутентификации).

Затем вызовите эту конечную точку с вашим приложением реагирования.Конечная точка может порождать сценарии на виртуальной машине.

В случае хранения вы можете

ОБНОВЛЕНИЕ

Вот код для установки на виртуальной машине:

const express = require('express');
const app = express();

var exec = require('child_process').exec;
app.get('/', (req, res) => {
    //Change the script. Here it's pwd, set what you want
    exec('pwd', function callback(error, stdout, stderr){
    //Handle here the output of your bash script 
    res.send(stdout)
   })
   res.statusCode=200;
})

const port = process.env.PORT || 8080;
app.listen(port, () => {});

На вашей виртуальной машине установите nodejs и express.Затем запустите node index.js.Вы можете настроить порт, установив переменную env PORT в значение, которое вы хотите.Иначе это 8080 по умолчанию.

Откройте необходимое правило брандмауэра для вашей виртуальной машины, чтобы разрешить вызов на ваш экспресс-сервер.

Здесь нет ни SSL на сервере, ни аутентификации, даже базовой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...