interface ITable
Language | Type name |
---|---|
.NET | Amazon.CDK.AWS.DynamoDB.ITable |
Go | github.com/aws/aws-cdk-go/awscdk/v2/awsdynamodb#ITable |
Java | software.amazon.awscdk.services.dynamodb.ITable |
Python | aws_cdk.aws_dynamodb.ITable |
TypeScript (source) | aws-cdk-lib » aws_dynamodb » ITable |
Obtainable from
Table
.fromTableArn()
, Table
.fromTableAttributes()
, Table
.fromTableName()
An interface that represents a DynamoDB Table - either created with the CDK, or an existing one.
Properties
Name | Type | Description |
---|---|---|
env | Resource | The environment this resource belongs to. |
node | Node | The tree node. |
stack | Stack | The stack in which this resource is defined. |
table | string | Arn of the dynamodb table. |
table | string | Table name of the dynamodb table. |
encryption | IKey | Optional KMS encryption key associated with this table. |
table | string | ARN of the table's stream, if there is one. |
env
Type:
Resource
The environment this resource belongs to.
For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.
node
Type:
Node
The tree node.
stack
Type:
Stack
The stack in which this resource is defined.
tableArn
Type:
string
Arn of the dynamodb table.
tableName
Type:
string
Table name of the dynamodb table.
encryptionKey?
Type:
IKey
(optional)
Optional KMS encryption key associated with this table.
tableStreamArn?
Type:
string
(optional)
ARN of the table's stream, if there is one.
Methods
Name | Description |
---|---|
apply | Apply the given removal policy to this resource. |
grant(grantee, ...actions) | Adds an IAM policy statement associated with this table to an IAM principal's policy. |
grant | Permits all DynamoDB operations ("dynamodb:*") to an IAM principal. |
grant | Permits an IAM principal all data read operations from this table: BatchGetItem, GetRecords, GetShardIterator, Query, GetItem, Scan. |
grant | Permits an IAM principal to all data read/write operations to this table. |
grant | Adds an IAM policy statement associated with this table's stream to an IAM principal's policy. |
grant | Permits an IAM principal all stream data read operations for this table's stream: DescribeStream, GetRecords, GetShardIterator, ListStreams. |
grant | Permits an IAM Principal to list streams attached to current dynamodb table. |
grant | Permits an IAM principal all data write operations to this table: BatchWriteItem, PutItem, UpdateItem, DeleteItem. |
metric(metricName, props?) | Metric for the number of Errors executing all Lambdas. |
metric | Metric for the conditional check failed requests. |
metric | Metric for the consumed read capacity units. |
metric | Metric for the consumed write capacity units. |
metric | Metric for the successful request latency. |
metric | Metric for the system errors this table. |
metric | Metric for throttled requests. |
metric | Metric for throttled requests. |
metric | Metric for the user errors. |
RemovalPolicy(policy)
applypublic applyRemovalPolicy(policy: RemovalPolicy): void
Parameters
- policy
Removal
Policy
Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.
The resource can be deleted (RemovalPolicy.DESTROY
), or left in your AWS
account for data recovery and cleanup later (RemovalPolicy.RETAIN
).
grant(grantee, ...actions)
public grant(grantee: IGrantable, ...actions: string[]): Grant
Parameters
- grantee
IGrantable
— The principal (no-op if undefined). - actions
string
— The set of actions to allow (i.e. "dynamodb:PutItem", "dynamodb:GetItem", ...).
Returns
Adds an IAM policy statement associated with this table to an IAM principal's policy.
If encryptionKey
is present, appropriate grants to the key needs to be added
separately using the table.encryptionKey.grant*
methods.
FullAccess(grantee)
grantpublic grantFullAccess(grantee: IGrantable): Grant
Parameters
- grantee
IGrantable
— The principal to grant access to.
Returns
Permits all DynamoDB operations ("dynamodb:*") to an IAM principal.
Appropriate grants will also be added to the customer-managed KMS key if one was configured.
ReadData(grantee)
grantpublic grantReadData(grantee: IGrantable): Grant
Parameters
- grantee
IGrantable
— The principal to grant access to.
Returns
Permits an IAM principal all data read operations from this table: BatchGetItem, GetRecords, GetShardIterator, Query, GetItem, Scan.
Appropriate grants will also be added to the customer-managed KMS key if one was configured.
ReadWriteData(grantee)
grantpublic grantReadWriteData(grantee: IGrantable): Grant
Parameters
- grantee
IGrantable
— The principal to grant access to.
Returns
Permits an IAM principal to all data read/write operations to this table.
BatchGetItem, GetRecords, GetShardIterator, Query, GetItem, Scan, BatchWriteItem, PutItem, UpdateItem, DeleteItem
Appropriate grants will also be added to the customer-managed KMS key if one was configured.
Stream(grantee, ...actions)
grantpublic grantStream(grantee: IGrantable, ...actions: string[]): Grant
Parameters
- grantee
IGrantable
— The principal (no-op if undefined). - actions
string
— The set of actions to allow (i.e. "dynamodb:DescribeStream", "dynamodb:GetRecords", ...).
Returns
Adds an IAM policy statement associated with this table's stream to an IAM principal's policy.
If encryptionKey
is present, appropriate grants to the key needs to be added
separately using the table.encryptionKey.grant*
methods.
StreamRead(grantee)
grantpublic grantStreamRead(grantee: IGrantable): Grant
Parameters
- grantee
IGrantable
— The principal to grant access to.
Returns
Permits an IAM principal all stream data read operations for this table's stream: DescribeStream, GetRecords, GetShardIterator, ListStreams.
Appropriate grants will also be added to the customer-managed KMS key if one was configured.
TableListStreams(grantee)
grantpublic grantTableListStreams(grantee: IGrantable): Grant
Parameters
- grantee
IGrantable
— The principal (no-op if undefined).
Returns
Permits an IAM Principal to list streams attached to current dynamodb table.
WriteData(grantee)
grantpublic grantWriteData(grantee: IGrantable): Grant
Parameters
- grantee
IGrantable
— The principal to grant access to.
Returns
Permits an IAM principal all data write operations to this table: BatchWriteItem, PutItem, UpdateItem, DeleteItem.
Appropriate grants will also be added to the customer-managed KMS key if one was configured.
metric(metricName, props?)
public metric(metricName: string, props?: MetricOptions): Metric
Parameters
- metricName
string
- props
Metric
Options
Returns
Metric for the number of Errors executing all Lambdas.
ConditionalCheckFailedRequests(props?)
metricpublic metricConditionalCheckFailedRequests(props?: MetricOptions): Metric
Parameters
- props
Metric
— properties of a metric.Options
Returns
Metric for the conditional check failed requests.
ConsumedReadCapacityUnits(props?)
metricpublic metricConsumedReadCapacityUnits(props?: MetricOptions): Metric
Parameters
- props
Metric
— properties of a metric.Options
Returns
Metric for the consumed read capacity units.
ConsumedWriteCapacityUnits(props?)
metricpublic metricConsumedWriteCapacityUnits(props?: MetricOptions): Metric
Parameters
- props
Metric
— properties of a metric.Options
Returns
Metric for the consumed write capacity units.
SuccessfulRequestLatency(props?)
metricpublic metricSuccessfulRequestLatency(props?: MetricOptions): Metric
Parameters
- props
Metric
— properties of a metric.Options
Returns
Metric for the successful request latency.
SystemErrorsForOperations(props?)
metricpublic metricSystemErrorsForOperations(props?: SystemErrorsForOperationsMetricOptions): IMetric
Parameters
- props
System
— properties of a metric.Errors For Operations Metric Options
Returns
Metric for the system errors this table.
ThrottledRequests(props?)
metricpublic metricThrottledRequests(props?: MetricOptions): Metric
⚠️ Deprecated: use metricThrottledRequestsForOperations
Parameters
- props
Metric
— properties of a metric.Options
Returns
Metric for throttled requests.
ThrottledRequestsForOperations(props?)
metricpublic metricThrottledRequestsForOperations(props?: OperationsMetricOptions): IMetric
Parameters
- props
Operations
— properties of a metric.Metric Options
Returns
Metric for throttled requests.
UserErrors(props?)
metricpublic metricUserErrors(props?: MetricOptions): Metric
Parameters
- props
Metric
— properties of a metric.Options
Returns
Metric for the user errors.