Defined in: src/idempotency-table/idempotency-table.ts:62
A DynamoDB table construct optimized for AWS Lambda Powertools idempotency functionality.
This construct creates a DynamoDB table with sensible defaults for idempotency use cases while enforcing specific requirements needed by the AWS Lambda Powertools library:
- Partition key is always 'id' (STRING type)
- TTL attribute is always 'expiration'
- No sort key is allowed (simple primary key only)
All other DynamoDB table properties can be customized as needed.
Example
// Basic usage with defaults
const idempotencyTable = new IdempotencyTable(this, 'IdempotencyTable', {
tableName: 'my-function-idempotency'
});
// Custom configuration
const customTable = new IdempotencyTable(this, 'CustomTable', {
tableName: 'custom-idempotency-table',
removalPolicy: RemovalPolicy.RETAIN,
readCapacity: 10,
writeCapacity: 10,
pointInTimeRecoverySpecification: {
pointInTimeRecoveryEnabled: true
}
});
Extends
Construct
Constructors
Constructor
new IdempotencyTable(
scope
,id
,props
):IdempotencyTable
Defined in: src/idempotency-table/idempotency-table.ts:68
Parameters
scope
Construct
id
string
props
Returns
IdempotencyTable
Overrides
Construct.constructor
Properties
node
readonly
node:Node
Defined in: node_modules/.pnpm/constructs@10.4.2/node_modules/constructs/lib/construct.d.ts:266
The tree node.
Inherited from
Construct.node
table
readonly
table:Table
Defined in: src/idempotency-table/idempotency-table.ts:66
The underlying DynamoDB table.
Methods
toString()
toString():
string
Defined in: node_modules/.pnpm/constructs@10.4.2/node_modules/constructs/lib/construct.d.ts:279
Returns a string representation of this construct.
Returns
string
Inherited from
Construct.toString
isConstruct()
static
isConstruct(x
):x is Construct
Defined in: node_modules/.pnpm/constructs@10.4.2/node_modules/constructs/lib/construct.d.ts:262
Checks if x
is a construct.
Use this method instead of instanceof
to properly detect Construct
instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the constructs
library on
disk are seen as independent, completely different libraries. As a
consequence, the class Construct
in each copy of the constructs
library
is seen as a different class, and an instance of one class will not test as
instanceof
the other class. npm install
will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the constructs
library can be accidentally installed, and instanceof
will behave
unpredictably. It is safest to avoid using instanceof
, and using
this type-testing method instead.
Parameters
x
any
Any object
Returns
x is Construct
true if x
is an object created from a class which extends Construct
.
Inherited from
Construct.isConstruct