J'ai vu cela site sur DynamoDB On-demand et j'ai mis à jour mes tables, créées par CloudFormation, vers On-demand. Maintenant, lorsque j'essaie de mettre à jour ma pile, j'obtiens cette erreur:
Une ou plusieurs valeurs de paramètre n'étaient pas valides: ni ReadCapacityUnits ni WriteCapacityUnits ne peuvent être spécifiés lorsque BillingMode est PAY_PER_REQUEST
Existe-t-il un moyen de définir le mode de capacité de lecture/écriture DynamoDB sur demande sur CloudFormation?
MODIFIER:
J'ai mis à jour sur demande sur AWS Console.
EDIT 2:
Mon modèle:
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
Merci.
Vous devez ajouter BillingMode: PAY_PER_REQUEST
aux propriétés et supprimez ProvisionedThroughput
des propriétés de la table et de tous les GlobalSecondaryIndexes
s'ils sont spécifiés. Donc, finalement, votre modèle doit ressembler à:
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