将全局表更新到版本 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 或按需容量。

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

DynamoDB 全局表版本 2019.11.21(现行版本)引入了以下行为变更:

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

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

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

  • 对于此表,DynamoDB 映射器不得要求提供 aws:rep:* 属性。

  • 从版本 2017.11.21 更新到版本 2019.11.29 时,您可能会看到 ReplicationLatency 指标有所提高。这是因为 2019.11.29 版本(现行版本)会采集全局表区域之间复制延迟的完整端到端测量值。有关更多信息,请参阅版本 2017.11.21版本 2019.11.29(现行版本)ReplicationLatency 文档。

所需权限

您必须拥有各副本区域的 dynamodb:UpdateGlobalTableVersion 权限,才能更新到版本 2019.11.21(现行版本)。这些权限是除访问 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

该过程需要几分钟时间,但不会超过一小时。在更新过程中,您的表仍然可供读取和写入流量。但是,在更新期间,Auto Scaling 不会更改表上的预配置容量。因此,我们建议您在开始更新之前将表切换为按需容量。

如果您选择在更新期间结合使用预配置容量与 Auto Scaling,则必须提高策略的最低读取和写入吞吐量,以应对更新期间的预期流量增长。

更新过程完成后,表状态将恢复为 ACTIVE。您可以使用 DescribeTable 来查看表状态,也可以使用 DynamoDB 控制台上的 Tables (表) 视图来确认表状态。

重要
  • 从版本 2017.11.29 更新到版本 2019.11.21(现行版本)是一次性操作,且无法撤销。在进行更新之前,请确保您已执行所有必要的测试。更新新创建的全局表最多需要 60 分钟。

  • 在版本 2017.11.29 的全局表中,DynamoDB 会执行写入操作向项目记录中插入三个属性。这些属性 (aws:rep:*) 用于执行复制和管理冲突解决方案。在版本 2019.11.21(现行版本)的全局表中,复制活动是在本地管理的,且不会向用户显示。

  • 更新到版本 2019.11.21(现行版本)只能通过 DynamoDB 控制台执行。

更新到版本 2019.11.21(现行版本)

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

将全局表更新到版本 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

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