将全局表更新到版本 2019.11.21(当前) - Amazon DynamoDB
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将全局表更新到版本 2019.11.21(当前)

DynamoDB 全局表有两种版本:版本 2019.11.21(当前)版本 2017.11.29。要了解您正在使用的版本,请参阅确定版本

本节介绍如何将全局表更新为 版本 2019.11.21(当前)。

开始前的准备工作

DynamoDB 全局表版本 2019.11.21(当前)引入了以下要求:

  • 副本表上的全局二级索引必须跨区域保持一致。

  • 副本表上的加密设置必须在各个区域中保持一致。

  • 副本表上的生存时间 (TTL) 设置必须在各个区域中保持一致。如果在副本表上启用了 TTL,则会复制 TTL 删除。

  • 必须为跨所有副本表的写入容量单位启用 DynamoDB Auto Scaling 或按需容量。

  • 全局表控制层面操作(创建、删除、更新和描述)APIs 不同。有关更多信息,请参阅全局表:。 使用 DynamoDB 的多区域复制

DynamoDB 全局表版本 2019.11.21(当前)引入了以下行为更改:

  • DynamoDB 流 每次写入时仅发布一条记录 (而不是两条记录)。

  • 对于新插入,不添加项目记录中的 aws:rep:* 属性。

  • 对于包含 aws:rep:* 属性的项目的更新,不会更新这些属性。

  • DynamoDB 映射器不得要求此表的 aws:rep:* 属性。

  • 从版本 2017.11.29 更新为版本 2019.11.21 时,您可能会看到 ReplicationLatency 指标出现增加。这是预期情况,因为版本 2019.11.21(当前)会捕获全局表区域之间的复制延迟的完整端到端测量值。有关更多信息,请参阅版本 ReplicationLatencyVersion 2017.11.29Version (Current)2019.11.21 文档。

所需权限

要更新到版本 2019.11.21(当前),您必须具有跨副本区域的 dynamodb:UpdateGlobalTableVersion 权限。这些权限是访问 DynamoDB 控制台和查看表所需的权限之外的权限。

以下 IAM 策略授予将任何全局表更新到版本 2019.11.21(当前)的权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dynamodb:UpdateGlobalTableVersion", "Resource": "*" } ] }

以下 IAM 策略仅授予将 Music 全局表(副本位于两个区域中)更新为版本 2019.11.21(当前)的权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dynamodb:UpdateGlobalTableVersion", "Resource": [ "arn:aws:dynamodb::123456789012:global-table/Music", "arn:aws:dynamodb:ap-southeast-1:123456789012:table/Music", "arn:aws:dynamodb:us-east-2:123456789012:table/Music" ] } ] }

更新过程概述

在更新过程中,全局表的状态将从 ACTIVE 更改为 UPDATING

该过程需要几分钟的时间,但它应在不到 1 小时的时间内完成。在更新过程中,您的表仍可用于读取和写入流量。但是,Auto Scaling 不会在更新期间更改表的预置容量。因此,在开始更新之前,我们建议您将表切换为按需容量。

如果您选择在更新期间对 Auto Scaling 使用预配置的容量,则必须提高策略的最小读取和写入吞吐量,以适应更新持续时间预期流量增加。

更新过程完成后,您的表状态将恢复为 ACTIVE。您可以使用 DescribeTable 检查表的状态,或使用 控制台上的 Tables (表)DynamoDB 视图进行验证。

重要
  • 从版本 2017.11.29 更新为版本 2019.11.21(当前)是一次性操作,无法撤消。继续更新之前,请确保您已完成所有必要的测试。在尝试更新新创建的全局表之前,请留出最多 60 分钟的时间。

  • 在全局表的版本 2017.11.29 中,DynamoDB 执行写入操作以将三个属性插入到项目记录中。这些属性 (aws:rep:*) 用于制定复制和管理冲突解决。在全局表的版本 2019.11.21(当前)中,复制活动在本机进行管理,不会对用户公开。

  • 只能通过 2019.11.21DynamoDB(最新)。

更新为版本 2019.11.21(当前)

按照以下步骤,使用 DynamoDB 更新 AWS 管理控制台 全局表的版本。

将全局表更新到版本 2019.11.21

  1. 通过以下网址打开 DynamoDB 控制台:https://console.amazonaws.cn/dynamodb/home

  2. 在控制台左侧的导航窗格中,选择 Tables (表),然后选择要更新到 2019.11.21(当前)的全局表。

  3. 选择全局表选项卡。

  4. 选择 Update version (更新版本)

    
                        显示“Update version (更新版本)”按钮的控制台屏幕截图。
  5. 阅读并同意新要求,然后选择 Continue

    重要

    从版本 2017.11.29 更新为版本 2019.11.21(当前)是一次性操作,无法撤消。在开始更新之前,请确保您已执行所有必要的测试。

    
                        显示包含兼容性要求的“Update (更新)”对话框的控制台屏幕截图。
  6. 更新过程完成后,控制台上显示的全局表版本更改为 2019.11.21

    
                        显示当前全局表版本号的控制台屏幕截图。