云端javascript。"/>
如何将数据从应用引擎保存到数据存储谷歌云端javascript。
我是个新手,很难理解GCP的文档。我在App Engine上部署了我的Web应用。当我在本地运行我的应用程序时,我把一些数据保存在一个JSON文件上,它是完美的。现在我需要将这些来自客户端的JSON保存到Google云端的某个地方。
根据我的研究,我需要将我的数据存储在datastore上。我需要一些清晰的例子和解释来学习如何将数据从App Engine存储到GCP中的数据存储,基本上我正在寻找一种方法来存储我的JSON,以便以后将它传递给另一个应用程序。
const port = process.env.PORT || 8000;
app.use(express.static(__dirname + '/www'));
app.listen(port);
console.log('working on port '+ port);
app.use(express.json({limit:'1mb'}));
app.post('/api', (request, response) => {
var ressult = JSON.stringify(request.body);
//creating my JSON file
fs.appendFile('Result.json', ressult + "\n", (err) => {
if (err) throw err;
})
});
回答如下:所以首先是基础知识。
你需要像下面这样的东西来初始化客户端。
// Imports the Google Cloud client library
const {Datastore} = require('@google-cloud/datastore');
// Creates a client
const datastore = new Datastore();
然后创建一个基本实体
async function quickstart() {
// The kind for the new entity
const kind = 'Task';
// The name/ID for the new entity
const name = 'sampletask1';
// The Cloud Datastore key for the new entity
const taskKey = datastore.key([kind, name]);
// Prepares the new entity
const task = {
key: taskKey,
data: {
description: 'Buy milk',
},
};
// Saves the entity
await datastore.save(task);
console.log(`Saved ${task.key.name}: ${task.data.description}`);
}
quickstart();
现在你可以创建一个基本的实体,你有不同的选择。如果JSON对象不是太大,你可以把它作为一个值放在实体中(存储为文本)。
或者更好的方法是使用类似这样的方法将其存储为一个数组。
testArrayValue() {
// [START datastore_array_value]
const task = {
tags: ['fun', 'programming'],
collaborators: ['alice', 'bob'],
};
// [END datastore_array_value]
return this.datastore.save({
key: this.incompleteKey,
data: task,
});
}
根据你的JSON文件,你甚至可能想要创建嵌套数组,但逻辑是一样的。
你也可以使用云存储来代替,并简单地将JSON文件作为一个对象来处理。所以你需要把它存储在GAE的tmp目录下,上传到bucket中。然后在另一边,将其下载到该应用的tmp dir,并将其处理为JSON文件。下面是 如何开始使用云存储的基础知识
更多推荐
如何将数据从应用引擎保存到数据存储谷歌云端javascript。
发布评论