The sections below describe the various options available in the Dynamic DynamoDB configuration file. See _example_configuration
for an example configuration file.
Section name: [global]
Option | Type | Default | Comment |
---|---|---|---|
aws-access-key-id aws-secret-access-key-id |
|
AWS access API key AWS secret API key |
|
check-interval | int |
300 | How many seconds to wait between the checks |
circuit-breaker-timeout circuit-breaker-url |
|
10000.00 |
Timeout for the circuit breaker, in ms URL to poll for circuit breaking. Dynamic DynamoDB will only run if the circuit breaker returns |
region | str |
us-east-1 |
AWS region to use |
Section name: [logging]
Option | Type | Default | Comment |
---|---|---|---|
log-file | str |
|
|
log-level log-config-file |
|
|
|
Dynamic DynamoDB will rotate the log-file
nightly per default and keep 5 days of backups. If you want to override this behavior, please have a look at the log-config-file
option which allows you to use custom Python logging configuration files.
Section name: [table: ^my_table$]
Important note: The table name is treated as a regular expression. That means that my_table
also will match my_table2
, unless you express it as a valid regular expression; ^my_table$
. This feature enables you to easily configure many tables or tables with dynamic names.
Option | Type | Default | Comment |
---|---|---|---|
allow-scaling-down-reads-on-0-percent | bool |
false |
Allow down-scaling of reads when 0% is used. |
allow-scaling-down-writes-on-0-percent | bool |
false |
Allow down-scaling of writes when 0% is used. |
always-decrease-rw-together | bool |
false |
Restrict scale down to only happen when both reads AND writes are in need of scaling down. Set this to true to minimize down-scaling. |
circuit-breaker-timeout circuit-breaker-url |
|
10000.00 |
Timeout for the circuit breaker, in ms. Overrides the global setting if set. URL to poll for circuit breaking. Dynamic DynamoDB will only run if the circuit breaker returns |
decrease-reads-unit | str |
percent |
Set if we should scale down reads in units or percent |
decrease-reads-with | int |
50 | Number of units or percent we should scale down the read provisioning with. Choose entity with decrease-reads-unit . |
decrease-writes-unit | str |
percent |
Set if we should scale down in units or percent |
decrease-writes-with | int |
50 | Number of units or percent we should scale down the write provisioning with. Choose entity with decrease-writes-unit . |
enable-reads-autoscaling | bool |
true |
Turn on or off autoscaling of read capacity. Deprecated! Please use enable-reads-up-scaling and enable-reads-down-scaling |
enable-reads-down-scaling | bool |
true |
Turn on or off of down scaling of read capacity |
enable-reads-up-scaling | bool |
true |
Turn on or off of up scaling of read capacity |
enable-writes-autoscaling | bool |
true |
Turn on or off autoscaling of write capacity. Deprecated! Please use enable-writes-up-scaling and enable-writes-down-scaling |
enable-writes-down-scaling | bool |
true |
Turn on or off of down scaling of write capacity |
enable-writes-up-scaling | bool |
true |
Turn on or off of up scaling of write capacity |
increase-consumed-reads-unit | str |
increase-reads-unit |
Set if we should scale up reads based on the consumed metric in units or percent |
increase-consumed-reads-with increase-consumed-reads-scale |
|
|
Number of Detailed information on the scale dict can be found here. If this is specified it will override |
increase-consumed-writes-unit | str |
increase-writes-unit |
Set if we should scale up writes based on the consumed metric in units or percent |
increase-consumed-writes-with increase-consumed-writes-scale |
|
|
Number of Detailed information on the scale dict can be found here. If this is specified it will override |
increase-reads-unit | str |
percent |
Set if we should scale up reads in units or percent |
increase-reads-with | int |
50 | Number of units or percent we should scale up the read provisioning with. Choose entity with increase-reads-unit . |
increase-throttled-by-consumed-reads-unit increase-throttled-by-consumed-reads-scale |
|
|
Set if we should scale up reads based on throttled events with respect to consumption in Detailed information on the scale dict can be found here. |
increase-throttled-by-consumed-writes-unit increase-throttled-by-consumed-writes-scale |
|
|
Set if we should scale up writes based on throttled events with respect to consumption in Detailed information on the scale dict can be found here. |
increase-throttled-by-provisioned-reads-unit increase-throttled-by-provisioned-reads-scale |
|
|
Set if we should scale up reads based on throttled events with respect to provisioning in Detailed information on the scale dict can be found here. |
increase-throttled-by-provisioned-writes-unit increase-throttled-by-provisioned-writes-scale |
|
|
Set if we should scale up writes based on throttled events with respect to provisioning in Detailed information on the scale dict can be found here. |
increase-writes-unit | str |
percent |
Set if we should scale up in units or percent |
increase-writes-with | int |
50 | Number of units or percent we should scale up the write provisioning with. Choose entity with increase-writes-unit . |
lookback-window-start | int |
15 | Dynamic DynamoDB fetches data from CloudWatch in a window that streches between now()-15 and now()-10 minutes. If you want to look at slightly newer data, change this value. Please note that it might not be set to less than 1 minute (as CloudWatch data for DynamoDB is updated every minute). |
lookback-period maintenance-windows max-provisioned-reads max-provisioned-writes min-provisioned-reads min-provisioned-writes |
|
5 |
Changes the duration of CloudWatch data to look at. For example, instead of looking at |
num-read-checks-before-scale-down | int |
1 | Force Dynamic DynamoDB to have x consecutive positive results before scaling reads down (1 means scale down immediately) |
num-read-checks-reset-percent | int |
0 | Set a read consumption percentage when the num-read-checks-before-scale-down count should be reset. This option is optional, even if you use the num-read-checks-before-scale-down feature |
num-write-checks-before-scale-down | int |
1 | Force Dynamic DynamoDB to have x consecutive positive results before scaling writes down (1 means scale down immediately) |
num-write-checks-reset-percent reads-lower-alarm-threshold |
|
0 |
Set a write consumption percentage when the num-write-checks-before-scale-down count should be reset. This option is optional, even if you use the num-write-checks-before-scale-down feature How many percent of the reads capacity should be used before trigging the low throughput alarm? |
reads-lower-threshold reads-upper-alarm-threshold |
|
30 |
Scale down the reads with |
reads-upper-threshold sns-message-types sns-topic-arn |
|
90 |
Scale up the reads with |
throttled-reads-upper-threshold |
|
0 |
Scale up the reads with |
throttled-writes-upper-threshold writes-lower-alarm-threshold |
|
0 |
Scale up the writes with How many percent of the writes capacity should be used before trigging the low throughput alarm? |
writes-lower-threshold writes-upper-alarm-threshold |
|
30 |
Scale down the writes with |
writes-upper-threshold | float |
90 | Scale up the writes with --increase-writes-with if the currently consumed writes reaches this many percent |
Section name: [gsi: ^my_gsi$ table: ^my_table$]
Important note: Both the GSI name and the table name is treated as regular expressions. That means that my_gsi
also will match my_gsi
, unless you express it as a valid regular expression; ^my_gsi$
. This feature enables you to easily configure many GSIs with one configuration section.
The table:
section after gsi:
must match with an existing table:
section.
Option | Type | Default | Comment |
---|---|---|---|
allow-scaling-down-reads-on-0-percent | bool |
false |
Allow down-scaling of reads when 0% is used. |
allow-scaling-down-writes-on-0-percent | bool |
false |
Allow down-scaling of writes when 0% is used. |
always-decrease-rw-together | bool |
false |
Restrict scale down to only happen when both reads AND writes are in need of scaling down. Set this to true to minimize down-scaling. |
circuit-breaker-timeout circuit-breaker-url |
|
10000.00 |
Timeout for the circuit breaker, in ms. Overrides the global setting if set. URL to poll for circuit breaking. Dynamic DynamoDB will only run if the circuit breaker returns |
decrease-reads-unit | str |
percent |
Set if we should scale down reads in units or percent |
decrease-reads-with | int |
50 | Number of units or percent we should scale down the read provisioning with. Choose entity with decrease-reads-unit . |
decrease-writes-unit | str |
percent |
Set if we should scale down in units or percent |
decrease-writes-with | int |
50 | Number of units or percent we should scale down the write provisioning with. Choose entity with decrease-writes-unit . |
enable-reads-autoscaling | bool |
true |
Turn on or off autoscaling of read capacity. Deprecated! Please use enable-reads-up-scaling and enable-reads-down-scaling |
enable-reads-down-scaling | bool |
true |
Turn on or off of down scaling of read capacity |
enable-reads-up-scaling | bool |
true |
Turn on or off of up scaling of read capacity |
enable-writes-autoscaling | bool |
true |
Turn on or off autoscaling of write capacity. Deprecated! Please use enable-writes-up-scaling and enable-writes-down-scaling |
enable-writes-down-scaling | bool |
true |
Turn on or off of down scaling of write capacity |
enable-writes-up-scaling | bool |
true |
Turn on or off of up scaling of write capacity |
increase-consumed-reads-unit | str |
increase-reads-unit |
Set if we should scale up reads based on the consumed metric in units or percent |
increase-consumed-reads-with increase-consumed-reads-scale |
|
|
Number of Detailed information on the scale dict can be found here. If this is specified it will override |
increase-consumed-writes-unit | str |
increase-writes-unit |
Set if we should scale up writes based on the consumed metric in units or percent |
increase-consumed-writes-with increase-consumed-writes-scale |
|
|
Number of Detailed information on the scale dict can be found here. If this is specified it will override |
increase-reads-unit | str |
percent |
Set if we should scale up reads in units or percent |
increase-reads-with | int |
50 | Number of units or percent we should scale up the read provisioning with. Choose entity with increase-reads-unit . |
increase-throttled-by-consumed-reads-unit increase-throttled-by-consumed-reads-scale |
|
|
Set if we should scale up reads based on throttled events with respect to consumption in Detailed information on the scale dict can be found here. |
increase-throttled-by-consumed-writes-unit increase-throttled-by-consumed-writes-scale |
|
|
Set if we should scale up writes based on throttled events with respect to consumption in Detailed information on the scale dict can be found here. |
increase-throttled-by-provisioned-reads-unit increase-throttled-by-provisioned-reads-scale |
|
|
Set if we should scale up reads based on throttled events with respect to provisioning in Detailed information on the scale dict can be found here. |
increase-throttled-by-provisioned-writes-unit increase-throttled-by-provisioned-writes-scale |
|
|
Set if we should scale up writes based on throttled events with respect to provisioning in Detailed information on the scale dict can be found here. |
increase-writes-unit | str |
percent |
Set if we should scale up in units or percent |
increase-writes-with maintenance-windows max-provisioned-reads max-provisioned-writes min-provisioned-reads min-provisioned-writes |
|
50 |
Number of |
num-read-checks-before-scale-down | int |
1 | Force Dynamic DynamoDB to have x consecutive positive results before scaling reads down (1 means scale down immediately) |
num-read-checks-reset-percent | int |
0 | Set a read consumption percentage when the num-read-checks-before-scale-down count should be reset. This option is optional, even if you use the num-read-checks-before-scale-down feature |
num-write-checks-before-scale-down | int |
1 | Force Dynamic DynamoDB to have x consecutive positive results before scaling writes down (1 means scale down immediately) |
num-write-checks-reset-percent reads-lower-alarm-threshold |
|
0 |
Set a write consumption percentage when the num-write-checks-before-scale-down count should be reset. This option is optional, even if you use the num-write-checks-before-scale-down feature How many percent of the reads capacity should be used before trigging the low throughput alarm? |
reads-lower-threshold reads-upper-alarm-threshold |
|
30 |
Scale down the reads with |
reads-upper-threshold sns-message-types sns-topic-arn |
|
90 |
Scale up the reads with |
throttled-reads-upper-threshold |
|
0 |
Scale up the reads with |
throttled-writes-upper-threshold writes-lower-alarm-threshold |
|
0 |
Scale up the writes with How many percent of the writes capacity should be used before trigging the low throughput alarm? |
writes-lower-threshold writes-upper-alarm-threshold |
|
30 |
Scale down the writes with |
writes-upper-threshold | float |
90 | Scale up the writes with --increase-writes-with if the currently consumed writes reaches this many percent |
Section name: [default_options]
Are you tired of setting the same configuration options for multiple tables or indexes? Then use the [default_options]
section. It will let you create default values for all your tables and indexes. You can of course override those values by setting other values in your table or index specific configuration.