我要保存的数据每秒有10个请求,如下所示。我需要在CloudRun函数完成后保存这些数据。(我的基础设施在google-cloud-platform上)。这些数据将用作机器学习的数据集。
{
"text": "1k characters",
"text2": "1k characters",
"metadata1": "enum (100 vals)",
"metadata2": "number value"
}我计划将它保存为一个未被期待的函数到google-cloud-storage中,无论是在一个文件夹中,还是基于metadata1 enum的文件夹中的。要么比另一个好?
这条路合适吗?
我认为是过分的,正如这就是答案。中所说的
发布于 2021-09-24 20:07:42
我可以提出两种模式,但在这两种情况下,您都需要存储消息:
发布于 2021-09-25 17:22:04
@guillaume的答案肯定是最好的,但为了便于实现,我决定直接将它们保存到GCS。
const saveData = async ({ text, text2, enum, number }) => {
try {
const timestamp = new Date().getTime()
const folder = enum
const fileName = `${folder}/${enum}-${timestamp}.json`
const file = bucket.file(fileName)
const contents = JSON.stringify({ text, text2, enum, number })
return file.save(contents)
}
} catch (e) {
console.log(`Failed to save file, ${e.message}`)
}
}它增加了一些延迟,但总的来说,我估计每个月的服务器成本约为10美元,而pubsub方法在试图确定成本时,估计每月的成本约为50-100美元(或更多),很难确定。但它确实假定,如果消息低于1MB,则每个消息都是1MB)。
大查询方法纪尧姆提供了似乎没有任何费用,因为1TB的传输数据每月都是免费的。这件事我可能错了。稍后我可以转到这个话题。
https://stackoverflow.com/questions/69307175
复制相似问题