Amazon DynamoDB

2025/08/14 - Amazon DynamoDB - 3 updated api methods

Changes  This release 1/ Adds support for throttled keys mode for CloudWatch Contributor Insights, 2/ Adds throttling reasons to exceptions across dataplane APIs. 3/ Explicitly models ThrottlingException as a class in statically typed languages. Refer to the launch day blog post for more details.

DescribeContributorInsights (updated) Link ¶
Changes (response)
{'ContributorInsightsMode': 'ACCESSED_AND_THROTTLED_KEYS | THROTTLED_KEYS'}

Returns information about contributor insights for a given table or global secondary index.

See also: AWS API Documentation

Request Syntax

client.describe_contributor_insights(
    TableName='string',
    IndexName='string'
)
type TableName:

string

param TableName:

[REQUIRED]

The name of the table to describe. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

type IndexName:

string

param IndexName:

The name of the global secondary index to describe, if applicable.

rtype:

dict

returns:

Response Syntax

{
    'TableName': 'string',
    'IndexName': 'string',
    'ContributorInsightsRuleList': [
        'string',
    ],
    'ContributorInsightsStatus': 'ENABLING'|'ENABLED'|'DISABLING'|'DISABLED'|'FAILED',
    'LastUpdateDateTime': datetime(2015, 1, 1),
    'FailureException': {
        'ExceptionName': 'string',
        'ExceptionDescription': 'string'
    },
    'ContributorInsightsMode': 'ACCESSED_AND_THROTTLED_KEYS'|'THROTTLED_KEYS'
}

Response Structure

  • (dict) --

    • TableName (string) --

      The name of the table being described.

    • IndexName (string) --

      The name of the global secondary index being described.

    • ContributorInsightsRuleList (list) --

      List of names of the associated contributor insights rules.

      • (string) --

    • ContributorInsightsStatus (string) --

      Current status of contributor insights.

    • LastUpdateDateTime (datetime) --

      Timestamp of the last time the status was changed.

    • FailureException (dict) --

      Returns information about the last failure that was encountered.

      The most common exceptions for a FAILED status are:

      • LimitExceededException - Per-account Amazon CloudWatch Contributor Insights rule limit reached. Please disable Contributor Insights for other tables/indexes OR disable Contributor Insights rules before retrying.

      • AccessDeniedException - Amazon CloudWatch Contributor Insights rules cannot be modified due to insufficient permissions.

      • AccessDeniedException - Failed to create service-linked role for Contributor Insights due to insufficient permissions.

      • InternalServerError - Failed to create Amazon CloudWatch Contributor Insights rules. Please retry request.

      • ExceptionName (string) --

        Exception name.

      • ExceptionDescription (string) --

        Description of the failure.

    • ContributorInsightsMode (string) --

      The mode of CloudWatch Contributor Insights for DynamoDB that determines which events are emitted. Can be set to track all access and throttled events or throttled events only.

ListContributorInsights (updated) Link ¶
Changes (response)
{'ContributorInsightsSummaries': {'ContributorInsightsMode': 'ACCESSED_AND_THROTTLED_KEYS '
                                                             '| '
                                                             'THROTTLED_KEYS'}}

Returns a list of ContributorInsightsSummary for a table and all its global secondary indexes.

See also: AWS API Documentation

Request Syntax

client.list_contributor_insights(
    TableName='string',
    NextToken='string',
    MaxResults=123
)
type TableName:

string

param TableName:

The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

type NextToken:

string

param NextToken:

A token to for the desired page, if there is one.

type MaxResults:

integer

param MaxResults:

Maximum number of results to return per page.

rtype:

dict

returns:

Response Syntax

{
    'ContributorInsightsSummaries': [
        {
            'TableName': 'string',
            'IndexName': 'string',
            'ContributorInsightsStatus': 'ENABLING'|'ENABLED'|'DISABLING'|'DISABLED'|'FAILED',
            'ContributorInsightsMode': 'ACCESSED_AND_THROTTLED_KEYS'|'THROTTLED_KEYS'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • ContributorInsightsSummaries (list) --

      A list of ContributorInsightsSummary.

      • (dict) --

        Represents a Contributor Insights summary entry.

        • TableName (string) --

          Name of the table associated with the summary.

        • IndexName (string) --

          Name of the index associated with the summary, if any.

        • ContributorInsightsStatus (string) --

          Describes the current status for contributor insights for the given table and index, if applicable.

        • ContributorInsightsMode (string) --

          Indicates the current mode of CloudWatch Contributor Insights, specifying whether it tracks all access and throttled events or throttled events only for the DynamoDB table or index.

    • NextToken (string) --

      A token to go to the next page if there is one.

UpdateContributorInsights (updated) Link ¶
Changes (both)
{'ContributorInsightsMode': 'ACCESSED_AND_THROTTLED_KEYS | THROTTLED_KEYS'}

Updates the status for contributor insights for a specific table or index. CloudWatch Contributor Insights for DynamoDB graphs display the partition key and (if applicable) sort key of frequently accessed items and frequently throttled items in plaintext. If you require the use of Amazon Web Services Key Management Service (KMS) to encrypt this table’s partition key and sort key data with an Amazon Web Services managed key or customer managed key, you should not enable CloudWatch Contributor Insights for DynamoDB for this table.

See also: AWS API Documentation

Request Syntax

client.update_contributor_insights(
    TableName='string',
    IndexName='string',
    ContributorInsightsAction='ENABLE'|'DISABLE',
    ContributorInsightsMode='ACCESSED_AND_THROTTLED_KEYS'|'THROTTLED_KEYS'
)
type TableName:

string

param TableName:

[REQUIRED]

The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

type IndexName:

string

param IndexName:

The global secondary index name, if applicable.

type ContributorInsightsAction:

string

param ContributorInsightsAction:

[REQUIRED]

Represents the contributor insights action.

type ContributorInsightsMode:

string

param ContributorInsightsMode:

Specifies whether to track all access and throttled events or throttled events only for the DynamoDB table or index.

rtype:

dict

returns:

Response Syntax

{
    'TableName': 'string',
    'IndexName': 'string',
    'ContributorInsightsStatus': 'ENABLING'|'ENABLED'|'DISABLING'|'DISABLED'|'FAILED',
    'ContributorInsightsMode': 'ACCESSED_AND_THROTTLED_KEYS'|'THROTTLED_KEYS'
}

Response Structure

  • (dict) --

    • TableName (string) --

      The name of the table.

    • IndexName (string) --

      The name of the global secondary index, if applicable.

    • ContributorInsightsStatus (string) --

      The status of contributor insights

    • ContributorInsightsMode (string) --

      The updated mode of CloudWatch Contributor Insights that determines whether to monitor all access and throttled events or to track throttled events exclusively.