我在Google云端平台上有一个存储桶,其中一部分应用程序添加了具有唯一名称(无扩展名)的小文本文件。Google Cloud Platform文件通过gcloud登录到节点服务器
第二个应用程序需要检索单个文本文件(一次只能有一个)以插入到模板中。
我无法找到正确的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函数返回你问一个文件。
Steven,谢谢你 - 我其实刚刚回来写下我的解决方案,这本质上就是你所说的;在File对象上调用下载。此外,这些文件是JSON,但添加了反斜杠(backslashes) - 需要JSON.parse()。文档可能没问题;我只是一个程序员... – Squidinker