代码之家  ›  专栏  ›  技术社区  ›  CamHart

AWS Dynamodb ContinuousBackupsUnavailableException

  •  2
  • CamHart  · 技术社区  · 8 年前

    我正在尝试备份我的DynamoDB表,该表最初是在一年多前使用DynamoDBs新的“备份”功能创建的。但是,当我去创建备份时,会收到以下错误消息:

    Backups are being enabled for the table: prod-supercoolsoftware-stuff. Please
    retry later (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: 
    ContinuousBackupsUnavailableException; Request ID: 
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
    

    然而,当我备份昨天在同一地区的同一帐户上创建的表时,它可以正常工作。

    我的桌子最终能被备份吗?还是我需要弄清楚如何创建一个新表并将数据迁移到表中(糟糕!)?

    编辑:现在为我的表12/26/17启用了备份

    3 回复  |  直到 8 年前
        1
  •  1
  •   F_SO_K    8 年前

    我认为值得等待一段时间,在接下来的几天和几周内再试一次。根据AWS文件,例外意味着 Backups have not yet been enabled for this table. 因此,这听起来像是一种预期情况,而不是功能异常。

    AWS表示备份功能正在 rolled out incrementally

    按需备份正在向美国东部(弗吉尼亚州北部)和美国东部推出 (俄亥俄州)、美国西部(俄勒冈州)、欧盟(爱尔兰)地区从今天开始,以及 将在未来几周内完成所有表格。

    上述公告没有日期,但我很确定是上周(2017年11月底)发布的。

    虽然该语句没有指定任何细节,但即使在这些区域内,单个表也可能在不同的时间获得该功能。

        2
  •  0
  •   izelrea    8 年前

    在旧表上启用备份,并等待它们被启用。对于新表,默认情况下启用备份。

        3
  •  0
  •   OlegMaksimovich    4 年前

    AWS需要时间才能允许您启用 Point In Time Recovery 在创建表之后,我们的解决方案是添加带有延迟的重试逻辑,因为它看起来像DynamoDB的预期行为。

    以下是Kotlin上AsyncDynamoDbClient和WebFlux的示例:

     Mono.defer {
       client.updateContinuousBackups(updateContinuousBackupsRequest)
             .toMono()
    }
     .retryBackoff(5, Duration.ofMillis(100))