2017-08-06 80 views
1

我正在使用registerScalableTarget将我的全局二级索引设置为自动缩放。以下是我的代码。无论如何,我都不会收到任何错误消息。以编程方式将DynamoDB GSI设置为自动缩放

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

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

应用自动缩放文档还包含有关它是如何工作的信息:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html

+0

我的印象是,没有必要进行缩放政策下。即,当我'registerScalableTarget'发电机表时,它会自动自动缩放,而不必定义一个策略。 – ngzhongcai

相关问题