我的情况是,当我从其他来源接收数据作为JSON字符串时,我想将此字符串上传到Google Cloud Storage,而无需将此字符串写入本地文件并上传。有什么办法可以做到这一点。谢谢。 看起来像下面的代码
storage
.bucket(bucketName)
.upload(jsonString, { destination: 'folder/test.json' })
.then(() => {
console.log('success');
})
.catch((err) => {
console.error('ERROR:', err);
});
所以我希望Google Cloud Storage将有一个test.json文件,其内容来自jsonString
答案 0 :(得分:1)
答案 1 :(得分:0)
我认为您只需要对对象进行JSON.stringify()
storage
.bucket(bucketName)
.upload(JSON.stringify(jsonString), { destination: 'folder/test.json' })
.then(() => {
console.log('success');
})
.catch((err) => {
console.error('ERROR:', err);
});
答案 2 :(得分:0)
如果有人在这里寻找答案的片段,则使用file.save()。请注意,数据应为stringfy。
const storage = new Storage();
exports.entry_point = (event, context) => {
var data = Buffer.from(event.data, 'base64').toString();
data = transform(data)
var datetime = new Date().toISOString()
var bucketName = storage.bucket('your_filename')
var fileName = bucketName.file(`date-${datetime}.json`)
fileName.save(data, function(err) {
if (!err) {
console.log(`Successfully uploaded ${fileName}`)
}});
//-
// If the callback is omitted, we'll return a Promise.
//-
fileName.save(data).then(function() {});
};