首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理10 and /s并保存到云存储-推荐的方法?

处理10 and /s并保存到云存储-推荐的方法?
EN

Stack Overflow用户
提问于 2021-09-23 21:37:10
回答 2查看 97关注 0票数 0

我要保存的数据每秒有10个请求,如下所示。我需要在CloudRun函数完成后保存这些数据。(我的基础设施在google-cloud-platform上)。这些数据将用作机器学习的数据集。

代码语言:javascript
复制
{ 
  "text": "1k characters", 
  "text2": "1k characters", 
  "metadata1": "enum (100 vals)", 
  "metadata2": "number value" 
}

我计划将它保存为一个未被期待的函数到google-cloud-storage中,无论是在一个文件夹中,还是基于metadata1 enum的文件夹中的。要么比另一个好?

这条路合适吗?

我认为是过分的,正如这就是答案。中所说的

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-09-24 20:07:42

我可以提出两种模式,但在这两种情况下,您都需要存储消息:

  • 要么使用PubSub来堆叠消息。然后,使用Dataflow读取pubsub,并将其沉入云存储中。或者使用随需应变服务(以Cloud为例)来提取您的PubSub订阅并编写一个包含所有消息读取的文件(例如,您可以通过Cloud触发您的云运行)
  • 或者将消息存储在BigQuery中,然后定期执行查询导出到GCS (同样使用+ Cloud函数/Run)。这是我最喜欢的解决方案,因为,也许有一天,您将不得不以不同的方式处理您的消息,并在它们上获得度量/执行分析。
票数 2
EN

Stack Overflow用户

发布于 2021-09-25 17:22:04

@guillaume的答案肯定是最好的,但为了便于实现,我决定直接将它们保存到GCS。

代码语言:javascript
复制
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的传输数据每月都是免费的。这件事我可能错了。稍后我可以转到这个话题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69307175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档