如何从云功能调用其他Google API?

Sam*_*ety 8 google-cloud-platform google-cloud-functions

我想从我的云功能中调用其他Google API,例如,在收到Pubsub发送的消息后将文件写入云存储.我怎样才能做到这一点?

Sam*_*ety 11

您可以使用用于Node.jsgoogle-cloud客户端库来完成此操作.同样的库也可用于Java,Python和Ruby.

例如,在Node JS中,您需要相应地编辑package.json文件:

{
  "dependencies": {
    "google-cloud": "*"
  },
  ...
}
Run Code Online (Sandbox Code Playgroud)

然后,在您的代码中,您只需调用相关的库即可.以下示例仅列出项目中的存储桶:

var gcloud = require('google-cloud');

exports.helloworld = function(context, data) {
  var gcs = gcloud.storage({projectId: '<PROJECT>'});    
  gcs.getBuckets(function(err, buckets) {
    if (!err) {
      buckets.forEach(function(bucket) {
        console.log(bucket.name);
      });
    } else {
      console.log('error: ' + err);
    }
  });

  context.success();
}
Run Code Online (Sandbox Code Playgroud)

您也不应该包括整个google-cloudnpm模块,而是指定一个特定的子模块,例如require('@google-cloud/storage')在上面的示例中.