Skip to main content

aws_dynamodb cache

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.

# Common config fields, showing default values
cache_resources:
- label: ""
aws_dynamodb:
table: "" # No default (required)
hash_key: "" # No default (required)
data_key: "" # No default (required)

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.

Fields​

table​

The table to store items in.

Type: string

hash_key​

The key of the table column to store item keys within.

Type: string

data_key​

The key of the table column to store item values within.

Type: string

consistent_read​

Whether to use strongly consistent reads on Get commands.

Type: bool
Default: false

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

ttl_key​

The column key to place the TTL value within.

Type: string

retries​

Determine time intervals and cut offs for retry attempts.

Type: object

retries.initial_interval​

The initial period to wait between retry attempts.

Type: string
Default: "1s"

retries.max_interval​

The maximum period to wait between retry attempts

Type: string
Default: "5s"

retries.max_elapsed_time​

The maximum overall period of time to spend on retry attempts before the request is aborted.

Type: string
Default: "30s"

region​

The AWS region to target.

Type: string

endpoint​

Allows you to specify a custom endpoint for the AWS API.

Type: string

tcp​

TCP socket configuration.

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​

TCP keep-alive probe configuration.

Type: object

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"

tcp.keep_alive.count​

Maximum unanswered keep-alive probes before dropping the connection. Zero defaults to 9.

Type: int
Default: 9

tcp.tcp_user_timeout​

Maximum time to wait for acknowledgment of transmitted data before killing the connection. Linux-only (kernel 2.6.37+), ignored on other platforms. When enabled, keep_alive.idle must be greater than this value per RFC 5482. Zero disables.

Type: string
Default: "0s"

credentials​

Optional manual configuration of AWS credentials to use. More information can be found in this document.

Type: object

credentials.profile​

A profile from ~/.aws/credentials to use.

Type: string

credentials.id​

The ID of credentials to use.

Type: string

credentials.secret​

The secret for the credentials being used.

Secret

This field contains sensitive information. Use a secret reference rather than a literal value.

Type: string

credentials.token​

The token for the credentials being used, required when using short term credentials.

Secret

This field contains sensitive information. Use a secret reference rather than a literal value.

Type: string

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.role​

A role ARN to assume.

Type: string

credentials.role_external_id​

An external ID to provide when assuming a role.

Type: string