2017-08-06 81 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

相關問題