Почему нет никаких SDK для вызова Cloud SQL API? - PullRequest
0 голосов
/ 02 мая 2019

Я бы хотел вызвать Cloud SQL API, описанный ниже, из Cloud Functions.

И я нашел библиотеки для вызова API GCP.

Однако, похоже, что нет никаких модулей для Cloud SQL.

Мне интересно, почему это не реализовано. причина в том, что API-интерфейсы относительно новые? или что я неправильно понимаю назначение библиотек и на самом деле это не должно быть реализовано в библиотеках?

Ответы [ 2 ]

3 голосов
/ 02 мая 2019

В нижней части страницы, с которой вы связали , вы найдете пример кода на разных языках для вызова этого API путем создания клиента.Например, пример кода для Node.js будет выглядеть следующим образом:

const {google} = require('googleapis');
var sqlAdmin = google.sqladmin('v1beta4');

authorize(function(authClient) {
  var request = {
    // Project ID of the project that contains the instance to be exported.
    project: 'my-project',  // TODO: Update placeholder value.

    // Cloud SQL instance ID. This does not include the project ID.
    instance: 'my-instance',  // TODO: Update placeholder value.

    resource: {
      // TODO: Add desired properties to the request body.
    },

    auth: authClient,
  };

  sqlAdmin.instances.export(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);
  });
}

Чтобы подключиться к экземпляру Cloud SQL из Cloud Function, следуйте документации здесь .

0 голосов
/ 02 мая 2019

Вы можете использовать gcloud SDK для вызова API.Если вы просто хотите экспортировать базу данных, пожалуйста, посмотрите на эту документацию: https://cloud.google.com/sdk/gcloud/reference/sql/instances/export

...