通过gcloud将Google Cloud Platform文件发送到节点服务器

时间:2016-03-15 16:23:38

标签: node.js google-cloud-storage gcloud-node

我在Google Cloud Platform上有一个存储桶,我的应用程序的一部分添加了具有唯一名称(无扩展名)的小文本文件。

第二个应用程序需要检索单个文本文件(一次只能检索一个)以插入模板。

我找不到正确的api电话。

根据需要进行配置:

var gcloud = require('gcloud');

var gcs = gcloud.storage({
    projectId: settings.bucketName,
    keyFilename: settings.bucketKeyfile 
});
var textBucket = gcs.bucket(settings.bucketTitle);

保存到存储桶效果很好:

textBucket.upload(fileLocation, function(err, file) {
    if(err) {
        console.log("File not uploaded: " + err);
    } else {
        // console.log("File uploaded: " + file);
    }
});

以下似乎是合乎逻辑的,但只返回元数据,而不是回调中使用的实际文件;

textBucket.get(fileName, function(err, file) {
    if(err) {
        console.log("File not retrieved: " + err);
    } else {
        callback(file);
    }
});

这可能并不令人意外,因为它实际上并不在官方文档中,但是再一次,也不是一个简单的asnyc函数,它返回你要求的文档。

1 个答案:

答案 0 :(得分:1)

此处记录了get对象上的方法Buckethttps://googlecloudplatform.github.io/gcloud-node/#/docs/v0.29.0/storage/bucket?method=get

如果您只想将文件下载到内存中,请尝试download对象File上的方法@Autowired protected SessionFactory sessionFactory;。如果使用流工作流程,您还可以使用https://googlecloudplatform.github.io/gcloud-node/#/docs/v0.29.0/storage/file?method=download

如果您有改进文档的想法,那么如果您在createReadStream上打开问题就会很棒,这样我们就可以让下一个人更轻松。