aws_dynamodb
Stores key/value pairs as a single document in a DynamoDB table. The key is stored as a string value and used as the table hash key. The value is stored as a binary value using the data_key field name.
A prefix can be specified to allow multiple cache types to share a single DynamoDB table. An optional TTL duration (ttl) and field
(ttl_key) can be specified if the backing table has TTL enabled.
Strong read consistency can be enabled using the consistent_read configuration field.
-
Common
-
Advanced
cache:
label: ""
aws_dynamodb:
table: "" # No default (required)
hash_key: "" # No default (required)
data_key: "" # No default (required)
cache:
label: ""
aws_dynamodb:
table: "" # No default (required)
hash_key: "" # No default (required)
data_key: "" # No default (required)
consistent_read: false
default_ttl: "" # No default (optional)
ttl_key: "" # No default (optional)
retries:
initial_interval: 1s
max_interval: 5s
max_elapsed_time: 30s
region: "" # No default (optional)
endpoint: "" # No default (optional)
tcp:
connect_timeout: 0s
keep_alive:
idle: 15s
interval: 15s
count: 9
tcp_user_timeout: 0s
credentials:
profile: "" # No default (optional)
id: "" # No default (optional)
secret: "" # No default (optional)
token: "" # No default (optional)
from_ec2_role: false # No default (optional)
role: "" # No default (optional)
role_external_id: "" # No default (optional)
Fields
credentials
Manually configure the AWS credentials to use (optional). For more information, see the Amazon Web Services guide.
Type: object
credentials.from_ec2_role
Use the credentials of a host EC2 machine configured to assume an IAM role associated with the instance.
Type: bool
credentials.secret
The secret for the AWS credentials in use.
|
This field contains sensitive information that usually shouldn’t be added to a configuration directly. For more information, see Manage Secrets before adding it to your configuration. |
Type: string
credentials.token
The token for the AWS credentials in use. Required only when using short-term credentials.
Type: string
default_ttl
An optional default TTL to set for items, calculated from the moment the item is cached. A ttl_key must be specified in order to set item TTLs.
Type: string
endpoint
A custom endpoint URL for AWS API requests. Use this to connect to AWS-compatible services or local testing environments instead of the standard AWS endpoints.
Type: string
retries.initial_interval
The initial period to wait between retry attempts. The retry interval increases for each failed attempt, up to the max_interval value. This field accepts Go duration format strings such as 100ms, 1s, or 5s.
Type: string
Default: 1s
# Examples:
initial_interval: 50ms
# ---
initial_interval: 1s
retries.max_elapsed_time
The maximum overall period of time to spend on retry attempts before the request is aborted.
Type: string
Default: 30s
# Examples:
max_elapsed_time: 1m
# ---
max_elapsed_time: 1h
retries.max_interval
The maximum period to wait between retry attempts
Type: string
Default: 5s
# Examples:
max_interval: 5s
# ---
max_interval: 1m
tcp
Configure TCP socket-level settings to optimize network performance and reliability. These low-level controls are useful for:
-
Unresponsive hosts: Set
connect_timeoutto limit how long a connection attempt can take (the default0ssets no limit) -
Long-lived connections: Configure
keep_alivesettings to detect and recover from stale connections -
Unstable networks: Tune keep-alive probes to balance between quick failure detection and avoiding false positives
-
Linux systems with specific requirements: Use
tcp_user_timeout(Linux 2.6.37+) to control data acknowledgment timeouts
Most users should keep the default values. Only modify these settings if you’re experiencing connection stability issues or have specific network requirements.
Type: object
tcp.connect_timeout
Maximum amount of time a dial will wait for a connect to complete. Zero disables.
Type: string
Default: 0s
tcp.keep_alive.count
Maximum unanswered keep-alive probes before dropping the connection. Zero defaults to 9.
Type: int
Default: 9
tcp.keep_alive.idle
Duration the connection must be idle before sending the first keep-alive probe. Zero defaults to 15s. Negative values disable keep-alive probes.
Type: string
Default: 15s
tcp.keep_alive.interval
Duration between keep-alive probes. Zero defaults to 15s.
Type: string
Default: 15s