【问题标题】:Store list of Strings in S3在 S3 中存储字符串列表
【发布时间】:2020-05-29 15:13:54
【问题描述】:

我是 Amazon AWS S3 的新手。 我的一个应用程序每小时处理 40000 次更新,每次更新都有一个唯一标识符。 这个标识符基本上是一个字符串。 在运行时,我想将 ID 存储在 S3 存储桶中以进行所有更新。

但是,据我了解,我们需要将文件存储在 s3 中。

这有什么问题吗? 我应该存储一个文件吗?然后每次都读取该文件。附加名称并再次存储它?

任何方向都会很有帮助。 提前致谢。

我希望它像这样存储:

Id1

Id2

ID3 . . , .

编辑:感谢您的回复,我已经添加了所要求的内容..

  • 我希望能够在我们的系统出现问题时获取所有这些 ID。
  • 我也愿意使用 s3 以外的任何东西。我也在研究 DynamoDB。以 ID 作为主键。但是,这些 ID 在 1-2% 的情况下可能会重复。

【问题讨论】:

  • Amazon Web Services S3(简单存储服务)确实是一种存储文件(也称为对象)的服务。您是对的,您只能将文件存储在 S3 上,而 S3 并不关心文件中的内容。但是根据您的描述(不是很清楚),我认为您需要使用数据库,特别是如果您以后想以灵活的方式获取有关这些更新的信息(查询)。
  • 我建议您进一步解释您的问题。为什么是 S3。以及你要对你的 ID 做什么样的操作
  • 对于我们如何存储数据的建议,如果您能提供有关您打算如何使用数据的信息将会很有帮助存储的数据。您能否编辑您的问题,以包含有关数据将如何使用的详细信息?
  • 嗨。我已经更新了这个问题。基本上,每当出现问题时,我都会获取所有 ID。所以,我知道在我的应用程序中需要重新处理哪个 ID
  • @learning_to_write_good_code 我仍然不明白 ID 的不同之处。每当出现问题时,您都会获取不同的 ID 进行重新处理?

标签: amazon-web-services amazon-s3


【解决方案1】:

在 S3 中,您没有文件和文件夹的概念。您所拥有的只是一个桶和桶内的对象。但是,AWS 的 UI 使用 通用前缀 对对象进行分组,以便它们看起来在同一个文件夹中。

此外,没有什么比在 S3 中附加到文件更重要的了。由于 S3 有对象,本质上发生的情况是 所谓的追加删除了前一个对象并创建一个新对象,其中前一个对象的数据附加了更多数据。

所以,我认为您正在尝试的一种方法是:

假设您在 10:00 将所有 ID 写入名为 data_corresponding_to_10_00_00 的 S3 对象中。在接下来的一个小时(以及 40000 次更新),如果它们具有所有新 ID,您可以将它们写入另一个名为 data_corresponding_to_11_00_00 的 S3 对象。

但是,如果您不希望两个文件中都有多个条目,并且您需要更新前一个文件本身,那么使用 S3 并不是一个好主意。而是使用以 ID 为索引的数据库,以便性能变得更快。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-18
    • 2014-09-11
    • 1970-01-01
    • 2017-12-29
    • 2022-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多