0

ノードjs用のGoogleクラウドKubernetes APIを使用して、GoogleクラウドからKubernetesクラスターの詳細を取得しようとしています。

以下は、Googleのドキュメントで見つけた例です。

var google = require('googleapis');
var container = google.container('v1');

authorize(function(authClient) {
  var request = {
     projectId: 'my-project-id',  
     zone: 'my-zone',  
     clusterId: 'my-cluster-id',  
     auth: authClient,
  };

  container.projects.zones.clusters.get(request, function(err, response){
    if (err) {
       console.error(err);
    return;
  }

// TODO: Change code below to process the `response` object and send the detail back to client.

  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);
  });
}

Google get API は非同期関数であるため、API からの応答をクライアントに返すにはどうすればよいですか。

4

1 に答える 1

0

問題は、そのデータで何をしたいのかということです。API が非同期かどうかの問題ではありません。このコード スニペットは、このリクエストで取得するのと同じ JSON をコンソールに返す必要があります。

GET https://container.googleapis.com/v1beta1/projects/[PROJECT ID]/locations/[ZONE]/clusters/[CLUSTER NAME]

関数とコールバックは、非同期であることを処理する必要があります。

于 2018-03-06T15:53:22.223 に答える