本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将全局表更新到版本 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(当前)会捕获全局表区域之间的复制延迟的完整端到端测量值。有关更多信息,请参阅版本ReplicationLatency
Version 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
-
通过以下网址打开 DynamoDB 控制台:https://console.amazonaws.cn/dynamodb/home
。 -
在控制台左侧的导航窗格中,选择 Tables (表),然后选择要更新到 2019.11.21(当前)的全局表。
-
选择全局表选项卡。
-
选择 Update version (更新版本)。
-
阅读并同意新要求,然后选择 Continue。
重要 从版本 2017.11.29 更新为版本 2019.11.21(当前)是一次性操作,无法撤消。在开始更新之前,请确保您已执行所有必要的测试。
-
更新过程完成后,控制台上显示的全局表版本更改为 2019.11.21。