【问题标题】:Is the S3 CopyObject operation strongly consistent?S3 CopyObject 操作是否强一致?
【发布时间】:2021-10-13 17:13:13
【问题描述】:

我注意到,当我在创建文件后立即尝试复制文件时,Node.JS AWS SDK 中的copyObject 操作偶尔会引发NoSuchKey 异常。

为了尝试解决这个问题,我添加了对 getObject 的调用 - 仅当文件实际上由 getObject 返回时才尝试复制。然而,这仍然偶尔会导致NoSuchKey被抛出。

CopyObject 是否免于 S3 中的强一致性模型?

【问题讨论】:

  • 我不知道,但它可能是豁免的,因为它没有在这个短语中明确提及:“对于所有现有和新对象,以及在所有区域,所有 S3 GET、PUT , 和 LIST 操作,以及更改对象标签、ACL 或元数据的操作,现在是强一致的。你写什么你就会读什么,LIST 的结果将准确反映桶中的内容。有关更多详细信息,请阅读文档。“,位于 this page。不过,我有点惊讶。只是一点点;)

标签: node.js amazon-web-services amazon-s3


【解决方案1】:

基于https://aws.amazon.com/blogs/aws/amazon-s3-update-strong-read-after-write-consistency/,支持强一致性的操作列表似乎确实是GETPUTLIST,而COPY没有被列出。

话虽如此,我假设您可以将您的流程调整为 GET 新创建的对象,这是强一致性操作,然后将 PUT 调整到新目标,因此不使用 COPY 操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-11
    • 2023-04-10
    • 1970-01-01
    • 2012-11-20
    • 2023-04-05
    相关资源
    最近更新 更多