web-dev-qa-db-ja.com

CloudFormationでDynamoDB読み取り/書き込み容量モードをオンデマンドに設定する方法

これを見てきました site DynamoDB On-demandについて、CloudFormationで作成したテーブルをOn-demandに更新しました。スタックを更新しようとすると、次のエラーが表示されます。

1つ以上のパラメーター値が無効でした:BillingModeがPAY_PER_REQUESTの場合、ReadCapacityUnitsもWriteCapacityUnitsも指定できません

CloudFormationでDynamoDB読み取り/書き込み容量モードをオンデマンドに設定する方法はありますか?

編集:

AWSコンソールでオンデマンドに更新しました。

編集2:

私のテンプレート:

DynamoDBUsersTable:
    Type: AWS::DynamoDB::Table
    Description: Users table
    Properties:
      TableName: !Sub ${StackName}-users-table
      AttributeDefinitions:
        - AttributeName: userId
          AttributeType: S
      KeySchema:
        - AttributeName: userId
          KeyType: HASH
      ProvisionedThroughput:
        ReadCapacityUnits: 10
        WriteCapacityUnits: 10

ありがとうございました。

12
Pedro Arantes

プロパティにBillingMode: PAY_PER_REQUESTを追加し、テーブルプロパティと、指定されている場合はすべてのProvisionedThroughputからGlobalSecondaryIndexesを削除する必要があります。最後に、テンプレートは次のように見える必要があります。

DynamoDBUsersTable:
    Type: AWS::DynamoDB::Table
    Description: Users table
    Properties:
      TableName: !Sub ${StackName}-users-table
      BillingMode: PAY_PER_REQUEST
      AttributeDefinitions:
        - AttributeName: userId
          AttributeType: S
      KeySchema:
        - AttributeName: userId
          KeyType: HASH
31