How do I change capacity mode of Dynamo table using boto3?

Below are sample codes.

From Provision mode to On Demand mode

def update_DDB_table_to_OnDemand_mode(table_name):
    
    client = boto3.client('dynamodb')

    response = client.update_table(
        BillingMode = 'PAY_PER_REQUEST',
        TableName=table_name,
    )

From On Demand mode to Provisioned mode

def update_DDB_table_to_PROVISIONED_mode(table_name, index_name):
    
    client = boto3.client('dynamodb')

    response = client.update_table(
        BillingMode = 'PROVISIONED',
        ProvisionedThroughput={
            'ReadCapacityUnits': 5,
            'WriteCapacityUnits': 5,
        },
        GlobalSecondaryIndexUpdates=[
            {
                'Update': {
                    'IndexName': index_name,
                    'ProvisionedThroughput': {
                        'ReadCapacityUnits': 5,
                        'WriteCapacityUnits': 5
                    }
                }
            }
        ],
        TableName=table_name
    )

No Comments

Leave a Reply