Skip to main content

CDK Constructs for AWS DynamoDB

Project description

Amazon DynamoDB Construct Library


Stability: Stable


Here is a minimal deployable DynamoDB table definition:

import dynamodb = require('@aws-cdk/aws-dynamodb');

const table = new dynamodb.Table(this, 'Table', {
  partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING }
});

Keys

When a table is defined, you must define it's schema using the partitionKey (required) and sortKey (optional) properties.

Billing Mode

DynamoDB supports two billing modes:

  • PROVISIONED - the default mode where the table and global secondary indexes have configured read and write capacity.
  • PAY_PER_REQUEST - on-demand pricing and scaling. You only pay for what you use and there is no read and write capacity for the table or its global secondary indexes.
import dynamodb = require('@aws-cdk/aws-dynamodb');

const table = new dynamodb.Table(this, 'Table', {
  partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },
  billingMode: dynamodb.BillingMode.PAY_PER_REQUEST
});

Further reading: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.

Configure AutoScaling for your table

You can have DynamoDB automatically raise and lower the read and write capacities of your table by setting up autoscaling. You can use this to either keep your tables at a desired utilization level, or by scaling up and down at preconfigured times of the day:

Auto-scaling is only relevant for tables with the billing mode, PROVISIONED.

const readScaling = table.autoScaleReadCapacity({ minCapacity: 1, maxCapacity: 50 });

readScaling.scaleOnUtilization({
  targetUtilizationPercent: 50
});

readScaling.scaleOnSchedule('ScaleUpInTheMorning', {
  schedule: appscaling.Schedule.cron({ hour: '8', minute: '0' }),
  minCapacity: 20,
});

readScaling.scaleOnSchedule('ScaleDownAtNight', {
  schedule: appscaling.Schedule.cron({ hour: '20', minute: '0' }),
  maxCapacity: 20
});

Further reading: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html https://aws.amazon.com/blogs/database/how-to-use-aws-cloudformation-to-configure-auto-scaling-for-amazon-dynamodb-tables-and-indexes/

Amazon DynamoDB Global Tables

Please see the @aws-cdk/aws-dynamodb-global package.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aws-cdk.aws-dynamodb-1.5.0.tar.gz (97.8 kB view details)

Uploaded Source

Built Distribution

aws_cdk.aws_dynamodb-1.5.0-py3-none-any.whl (95.1 kB view details)

Uploaded Python 3

File details

Details for the file aws-cdk.aws-dynamodb-1.5.0.tar.gz.

File metadata

  • Download URL: aws-cdk.aws-dynamodb-1.5.0.tar.gz
  • Upload date:
  • Size: 97.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.34.0 CPython/3.6.5

File hashes

Hashes for aws-cdk.aws-dynamodb-1.5.0.tar.gz
Algorithm Hash digest
SHA256 64ccdcc3a25f03a33a553f3e75ca7104c2c2c1486acc5aa94c21508281dd251c
MD5 d8394098a55dbf4a510954c7bfcebc73
BLAKE2b-256 bf66bd0e3c75e7f3bf1257c9afea8bb8d7de501b90a25f5dbbb23725470cc2c8

See more details on using hashes here.

File details

Details for the file aws_cdk.aws_dynamodb-1.5.0-py3-none-any.whl.

File metadata

  • Download URL: aws_cdk.aws_dynamodb-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 95.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.34.0 CPython/3.6.5

File hashes

Hashes for aws_cdk.aws_dynamodb-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9568a6edf3b3a93e025f3bd8e63dc99245d5b269bc95c093e2088c683ae45efa
MD5 26867a8836e934f544b19afd19d2aa98
BLAKE2b-256 f5eeefe9fc012163f74aa327785c46ccf7c67e337e6c160f0c58c1d749ac40f7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page