我能找到的关于使用GCF+GCS的唯一文档是https://cloud.google.com/functions/docs/tutorials/storage。AFAICT这只是展示了如何使用GCS事件来触发GCF。
这是否只是需要一个知道如何与GCS通信的节点模块的情况,如果是,有没有这样的例子?
发布于 2018-03-09 22:25:54
是的,但请注意,它会将结果存储在ramdisk中,因此您需要有足够的RAM供函数下载文件。
var storage = require('@google-cloud/storage');
const gcs = storage({projectId: "<your_project>"});
const bucket = gcs.bucket("<your_bucket>");
const file = bucket.file("<path/to/your_file>")
exports.gcstest = (event, callback) => {
file.download({destination:"/tmp/test"}, function(err, file) {
if (err) {console.log(err)}
else{callback();}
})
};
发布于 2018-03-09 20:22:03
谷歌云函数只会执行你上传的代码。如果您的代码包含连接到google云存储的库,那么您将能够连接到google云存储,就像连接到任何其他api /服务一样。
有几种方法可以连接到google云存储,比如API、oauth或签名的urls……所有这些方法都可以在google云函数上使用,所以我建议您查看google云存储文档,找到适合您情况的最佳方法。
发布于 2019-08-06 01:53:03
可以,可以对存储桶进行读写
const storage = require('@google-cloud/storage')();
const myBucket = storage.bucket('my-bucket');
const file = myBucket.file('my-file');
file.createReadStream().on('data', () => {
// do something!
});
有关更多信息,请查看Google Cloud上的文档。
https://stackoverflow.com/questions/49201011
复制