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

时间:2016-02-11 22:40:47

标签: google-cloud-platform google-cloud-functions

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

1 个答案:

答案 0 :(得分:10)

您可以使用google-cloud client library for Node.js来完成此操作。同样的库也可用于Java,Python和Ruby。

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

{
  "dependencies": {
    "google-cloud": "*"
  },
  ...
}

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

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

您也不应该包含整个google-cloud npm模块,而是指定一个特定的子模块,例如:上例中的require('@google-cloud/storage')