以编程方式将DynamoDB GSI设置为自动缩放

时间:2017-08-06 08:36:07

标签: amazon-dynamodb autoscaling

我使用registerScalableTarget将我的全局二级索引设置为自动缩放。以下是我的代码。我没有得到任何错误信息。

var registerScalableTargetForWCU= function(event, callback) {
   var params= {
       ServiceNamespace: "dynamodb", RoleARN: event.roleArn,
       ResourceId: "table/TableName/index/IndexName",
       ScalableDimension: "dynamodb:index:WriteCapacityUnits",
       MinCapacity: 1, MaxCapacity: 2
   };
   applicationautoscaling.registerScalableTarget(params, function(err, res) {
       err ? callback(err) : callback(null, res);
   });
}

但是在管理控制台上," Auto Scaling"保持不变,如下面的屏幕截图所示。 enter image description here

如果我要运行describeScalableTargets,我会得到以下内容

{ ScalableTargets: [ { ServiceNamespace: 'dynamodb',
   ResourceId: 'table/TableName/index/IndexName',
   ScalableDimension: 'dynamodb:index:ReadCapacityUnits',
   MinCapacity: 1,
   MaxCapacity: 1,
   RoleARN: 'RoleARN',
   CreationTime: 2017-08-06T08:32:30.294Z },
 { ServiceNamespace: 'dynamodb',
   ResourceId: 'table/TableName/index/IndexName',
   ScalableDimension: 'dynamodb:index:WriteCapacityUnits',
   MinCapacity: 2,
   MaxCapacity: 10,
   RoleARN: 'RoleARN',
   CreationTime: 2017-08-06T08:32:30.460Z } ] }

是否已经自动缩放?

1 个答案:

答案 0 :(得分:1)

要使应用程序自动缩放工作,您需要一个可扩展的目标a scaling policy。在您的情况下似乎缺少扩展策略。它定义了在什么情况下进行缩放。由于缺少自动缩放功能,因此根本未启用,因此未在管理控制台中显示。

应用程序自动缩放的文档还包含有关其工作原理的信息:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html