如何从 Cloud Functions 调用其他 Google API?

How do I call other Google APIs from a Cloud Function?

我想从我的云函数调用其他 Google API,例如,在收到来自 Pubsub 的消息后将文件写入云存储。我该怎么做?

您可以使用 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') 在上面的例子中。