Доступ к виртуальной машине с помощью облачных функций

Мне необходимо перезапустить мою вычислительную машину, работающую на облачной платформе Google, с использованием облачных функций.

Есть ли способ сделать это с помощью облачной функции, хотя у вычислений есть остальные API для доступа к ней, но я не уверен в этом, будет ли она работать с облачными функциями?


person Nitin Kumar Singh    schedule 24.03.2017    source источник


Ответы (1)


Да, вы можете сбросить экземпляр Google Cloud Compute с помощью облачной функции.

Вы можете выполнить шаги, описанные в этой ссылке, чтобы создать свою облачную функцию. а index.js и package.json должны быть следующими:

index.js

exports.resetting = function resetting() {
        var google = require('googleapis');
        var compute = google.compute('beta');

    authorize(function(authClient) {
      var request = {
        // Project ID for this request.
        project: 'YOUR-PROJECT-ID',  // TODO: Update placeholder value.

        // The name of the zone for this request.
        zone: 'YOUR-INSTANCE-ZONE',  // TODO: Update placeholder value.

        // Name of the instance scoping this request.
        instance: 'YOUR-INSTANCE-NAME',  // TODO: Update placeholder value.

        auth: authClient,
      };

      compute.instances.reset(request, function(err, response) {
        if (err) {
          console.error(err);
          return;
        }

        // TODO: Change code below to process the `response` object:
        console.log(JSON.stringify(response, null, 2));
      });
    });
    function authorize(callback) {
      google.auth.getApplicationDefault(function(err, authClient) {
        if (err) {
          console.error('authentication failed: ', err);
          return;
        }
        if (authClient.createScopedRequired && authClient.createScopedRequired()) {
          var scopes = ['https://www.googleapis.com/auth/cloud-platform'];
          authClient = authClient.createScoped(scopes);
        }
        callback(authClient);
      });
    };
}       

пакет.json

{
  "name": "googleapis",
  "version": "24.0.0",
  "dependencies": {"googleapis":"^24.0.0"}
}

В поле «функция для выполнения», которое вы найдете при создании облачной функции, вам нужно будет ввести имя используемой вами функции, в данном случае «сброс».

Поймите, что вам нужно изменить значения для вашего проекта, зоны и экземпляра в коде index.js, который я предоставил.

https://cloud.google.com/functions/docs/quickstart-console

person VictorGGl    schedule 15.01.2018