DynamoDB / Client / describe_backup

describe_backup#

DynamoDB.Client.describe_backup(**kwargs)#

Describes an existing backup of a table.

You can call DescribeBackup at a maximum rate of 10 times per second.

See also: AWS API Documentation

Request Syntax

response = client.describe_backup(
    BackupArn='string'
)
Parameters:

BackupArn (string) –

[REQUIRED]

The Amazon Resource Name (ARN) associated with the backup.

Return type:

dict

Returns:

Response Syntax

{
    'BackupDescription': {
        'BackupDetails': {
            'BackupArn': 'string',
            'BackupName': 'string',
            'BackupSizeBytes': 123,
            'BackupStatus': 'CREATING'|'DELETED'|'AVAILABLE',
            'BackupType': 'USER'|'SYSTEM'|'AWS_BACKUP',
            'BackupCreationDateTime': datetime(2015, 1, 1),
            'BackupExpiryDateTime': datetime(2015, 1, 1)
        },
        'SourceTableDetails': {
            'TableName': 'string',
            'TableId': 'string',
            'TableArn': 'string',
            'TableSizeBytes': 123,
            'KeySchema': [
                {
                    'AttributeName': 'string',
                    'KeyType': 'HASH'|'RANGE'
                },
            ],
            'TableCreationDateTime': datetime(2015, 1, 1),
            'ProvisionedThroughput': {
                'ReadCapacityUnits': 123,
                'WriteCapacityUnits': 123
            },
            'OnDemandThroughput': {
                'MaxReadRequestUnits': 123,
                'MaxWriteRequestUnits': 123
            },
            'ItemCount': 123,
            'BillingMode': 'PROVISIONED'|'PAY_PER_REQUEST'
        },
        'SourceTableFeatureDetails': {
            'LocalSecondaryIndexes': [
                {
                    'IndexName': 'string',
                    'KeySchema': [
                        {
                            'AttributeName': 'string',
                            'KeyType': 'HASH'|'RANGE'
                        },
                    ],
                    'Projection': {
                        'ProjectionType': 'ALL'|'KEYS_ONLY'|'INCLUDE',
                        'NonKeyAttributes': [
                            'string',
                        ]
                    }
                },
            ],
            'GlobalSecondaryIndexes': [
                {
                    'IndexName': 'string',
                    'KeySchema': [
                        {
                            'AttributeName': 'string',
                            'KeyType': 'HASH'|'RANGE'
                        },
                    ],
                    'Projection': {
                        'ProjectionType': 'ALL'|'KEYS_ONLY'|'INCLUDE',
                        'NonKeyAttributes': [
                            'string',
                        ]
                    },
                    'ProvisionedThroughput': {
                        'ReadCapacityUnits': 123,
                        'WriteCapacityUnits': 123
                    },
                    'OnDemandThroughput': {
                        'MaxReadRequestUnits': 123,
                        'MaxWriteRequestUnits': 123
                    }
                },
            ],
            'StreamDescription': {
                'StreamEnabled': True|False,
                'StreamViewType': 'NEW_IMAGE'|'OLD_IMAGE'|'NEW_AND_OLD_IMAGES'|'KEYS_ONLY'
            },
            'TimeToLiveDescription': {
                'TimeToLiveStatus': 'ENABLING'|'DISABLING'|'ENABLED'|'DISABLED',
                'AttributeName': 'string'
            },
            'SSEDescription': {
                'Status': 'ENABLING'|'ENABLED'|'DISABLING'|'DISABLED'|'UPDATING',
                'SSEType': 'AES256'|'KMS',
                'KMSMasterKeyArn': 'string',
                'InaccessibleEncryptionDateTime': datetime(2015, 1, 1)
            }
        }
    }
}

Response Structure

  • (dict) –

    • BackupDescription (dict) –

      Contains the description of the backup created for the table.

      • BackupDetails (dict) –

        Contains the details of the backup created for the table.

        • BackupArn (string) –

          ARN associated with the backup.

        • BackupName (string) –

          Name of the requested backup.

        • BackupSizeBytes (integer) –

          Size of the backup in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

        • BackupStatus (string) –

          Backup can be in one of the following states: CREATING, ACTIVE, DELETED.

        • BackupType (string) –

          BackupType:

          • USER - You create and manage these using the on-demand backup feature.

          • SYSTEM - If you delete a table with point-in-time recovery enabled, a SYSTEM backup is automatically created and is retained for 35 days (at no additional cost). System backups allow you to restore the deleted table to the state it was in just before the point of deletion.

          • AWS_BACKUP - On-demand backup created by you from Backup service.

        • BackupCreationDateTime (datetime) –

          Time at which the backup was created. This is the request time of the backup.

        • BackupExpiryDateTime (datetime) –

          Time at which the automatic on-demand backup created by DynamoDB will expire. This SYSTEM on-demand backup expires automatically 35 days after its creation.

      • SourceTableDetails (dict) –

        Contains the details of the table when the backup was created.

        • TableName (string) –

          The name of the table for which the backup was created.

        • TableId (string) –

          Unique identifier for the table for which the backup was created.

        • TableArn (string) –

          ARN of the table for which backup was created.

        • TableSizeBytes (integer) –

          Size of the table in bytes. Note that this is an approximate value.

        • KeySchema (list) –

          Schema of the table.

          • (dict) –

            Represents a single element of a key schema. A key schema specifies the attributes that make up the primary key of a table, or the key attributes of an index.

            A KeySchemaElement represents exactly one attribute of the primary key. For example, a simple primary key would be represented by one KeySchemaElement (for the partition key). A composite primary key would require one KeySchemaElement for the partition key, and another KeySchemaElement for the sort key.

            A KeySchemaElement must be a scalar, top-level attribute (not a nested attribute). The data type must be one of String, Number, or Binary. The attribute cannot be nested within a List or a Map.

            • AttributeName (string) –

              The name of a key attribute.

            • KeyType (string) –

              The role that this key attribute will assume:

              • HASH - partition key

              • RANGE - sort key

              Note

              The partition key of an item is also known as its hash attribute. The term “hash attribute” derives from DynamoDB’s usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

              The sort key of an item is also known as its range attribute. The term “range attribute” derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

        • TableCreationDateTime (datetime) –

          Time when the source table was created.

        • ProvisionedThroughput (dict) –

          Read IOPs and Write IOPS on the table when the backup was created.

          • ReadCapacityUnits (integer) –

            The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

            If read/write capacity mode is PAY_PER_REQUEST the value is set to 0.

          • WriteCapacityUnits (integer) –

            The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

            If read/write capacity mode is PAY_PER_REQUEST the value is set to 0.

        • OnDemandThroughput (dict) –

          Sets the maximum number of read and write units for the specified on-demand table. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

          • MaxReadRequestUnits (integer) –

            Maximum number of read request units for the specified table.

            To specify a maximum OnDemandThroughput on your table, set the value of MaxReadRequestUnits as greater than or equal to 1. To remove the maximum OnDemandThroughput that is currently set on your table, set the value of MaxReadRequestUnits to -1.

          • MaxWriteRequestUnits (integer) –

            Maximum number of write request units for the specified table.

            To specify a maximum OnDemandThroughput on your table, set the value of MaxWriteRequestUnits as greater than or equal to 1. To remove the maximum OnDemandThroughput that is currently set on your table, set the value of MaxWriteRequestUnits to -1.

        • ItemCount (integer) –

          Number of items in the table. Note that this is an approximate value.

        • BillingMode (string) –

          Controls how you are charged for read and write throughput and how you manage capacity. This setting can be changed later.

          • PROVISIONED - Sets the read/write capacity mode to PROVISIONED. We recommend using PROVISIONED for predictable workloads.

          • PAY_PER_REQUEST - Sets the read/write capacity mode to PAY_PER_REQUEST. We recommend using PAY_PER_REQUEST for unpredictable workloads.

      • SourceTableFeatureDetails (dict) –

        Contains the details of the features enabled on the table when the backup was created. For example, LSIs, GSIs, streams, TTL.

        • LocalSecondaryIndexes (list) –

          Represents the LSI properties for the table when the backup was created. It includes the IndexName, KeySchema and Projection for the LSIs on the table at the time of backup.

          • (dict) –

            Represents the properties of a local secondary index for the table when the backup was created.

            • IndexName (string) –

              Represents the name of the local secondary index.

            • KeySchema (list) –

              The complete key schema for a local secondary index, which consists of one or more pairs of attribute names and key types:

              • HASH - partition key

              • RANGE - sort key

              Note

              The partition key of an item is also known as its hash attribute. The term “hash attribute” derives from DynamoDB’s usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

              The sort key of an item is also known as its range attribute. The term “range attribute” derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

              • (dict) –

                Represents a single element of a key schema. A key schema specifies the attributes that make up the primary key of a table, or the key attributes of an index.

                A KeySchemaElement represents exactly one attribute of the primary key. For example, a simple primary key would be represented by one KeySchemaElement (for the partition key). A composite primary key would require one KeySchemaElement for the partition key, and another KeySchemaElement for the sort key.

                A KeySchemaElement must be a scalar, top-level attribute (not a nested attribute). The data type must be one of String, Number, or Binary. The attribute cannot be nested within a List or a Map.

                • AttributeName (string) –

                  The name of a key attribute.

                • KeyType (string) –

                  The role that this key attribute will assume:

                  • HASH - partition key

                  • RANGE - sort key

                  Note

                  The partition key of an item is also known as its hash attribute. The term “hash attribute” derives from DynamoDB’s usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

                  The sort key of an item is also known as its range attribute. The term “range attribute” derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

            • Projection (dict) –

              Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

              • ProjectionType (string) –

                The set of attributes that are projected into the index:

                • KEYS_ONLY - Only the index and primary keys are projected into the index.

                • INCLUDE - In addition to the attributes described in KEYS_ONLY, the secondary index will include other non-key attributes that you specify.

                • ALL - All of the table attributes are projected into the index.

                When using the DynamoDB console, ALL is selected by default.

              • NonKeyAttributes (list) –

                Represents the non-key attribute names which will be projected into the index.

                For local secondary indexes, the total count of NonKeyAttributes summed across all of the local secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

                • (string) –

        • GlobalSecondaryIndexes (list) –

          Represents the GSI properties for the table when the backup was created. It includes the IndexName, KeySchema, Projection, and ProvisionedThroughput for the GSIs on the table at the time of backup.

          • (dict) –

            Represents the properties of a global secondary index for the table when the backup was created.

            • IndexName (string) –

              The name of the global secondary index.

            • KeySchema (list) –

              The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:

              • HASH - partition key

              • RANGE - sort key

              Note

              The partition key of an item is also known as its hash attribute. The term “hash attribute” derives from DynamoDB’s usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

              The sort key of an item is also known as its range attribute. The term “range attribute” derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

              • (dict) –

                Represents a single element of a key schema. A key schema specifies the attributes that make up the primary key of a table, or the key attributes of an index.

                A KeySchemaElement represents exactly one attribute of the primary key. For example, a simple primary key would be represented by one KeySchemaElement (for the partition key). A composite primary key would require one KeySchemaElement for the partition key, and another KeySchemaElement for the sort key.

                A KeySchemaElement must be a scalar, top-level attribute (not a nested attribute). The data type must be one of String, Number, or Binary. The attribute cannot be nested within a List or a Map.

                • AttributeName (string) –

                  The name of a key attribute.

                • KeyType (string) –

                  The role that this key attribute will assume:

                  • HASH - partition key

                  • RANGE - sort key

                  Note

                  The partition key of an item is also known as its hash attribute. The term “hash attribute” derives from DynamoDB’s usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

                  The sort key of an item is also known as its range attribute. The term “range attribute” derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

            • Projection (dict) –

              Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

              • ProjectionType (string) –

                The set of attributes that are projected into the index:

                • KEYS_ONLY - Only the index and primary keys are projected into the index.

                • INCLUDE - In addition to the attributes described in KEYS_ONLY, the secondary index will include other non-key attributes that you specify.

                • ALL - All of the table attributes are projected into the index.

                When using the DynamoDB console, ALL is selected by default.

              • NonKeyAttributes (list) –

                Represents the non-key attribute names which will be projected into the index.

                For local secondary indexes, the total count of NonKeyAttributes summed across all of the local secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

                • (string) –

            • ProvisionedThroughput (dict) –

              Represents the provisioned throughput settings for the specified global secondary index.

              • ReadCapacityUnits (integer) –

                The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

                If read/write capacity mode is PAY_PER_REQUEST the value is set to 0.

              • WriteCapacityUnits (integer) –

                The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

                If read/write capacity mode is PAY_PER_REQUEST the value is set to 0.

            • OnDemandThroughput (dict) –

              Sets the maximum number of read and write units for the specified on-demand table. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

              • MaxReadRequestUnits (integer) –

                Maximum number of read request units for the specified table.

                To specify a maximum OnDemandThroughput on your table, set the value of MaxReadRequestUnits as greater than or equal to 1. To remove the maximum OnDemandThroughput that is currently set on your table, set the value of MaxReadRequestUnits to -1.

              • MaxWriteRequestUnits (integer) –

                Maximum number of write request units for the specified table.

                To specify a maximum OnDemandThroughput on your table, set the value of MaxWriteRequestUnits as greater than or equal to 1. To remove the maximum OnDemandThroughput that is currently set on your table, set the value of MaxWriteRequestUnits to -1.

        • StreamDescription (dict) –

          Stream settings on the table when the backup was created.

          • StreamEnabled (boolean) –

            Indicates whether DynamoDB Streams is enabled (true) or disabled (false) on the table.

          • StreamViewType (string) –

            When an item in the table is modified, StreamViewType determines what information is written to the stream for this table. Valid values for StreamViewType are:

            • KEYS_ONLY - Only the key attributes of the modified item are written to the stream.

            • NEW_IMAGE - The entire item, as it appears after it was modified, is written to the stream.

            • OLD_IMAGE - The entire item, as it appeared before it was modified, is written to the stream.

            • NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are written to the stream.

        • TimeToLiveDescription (dict) –

          Time to Live settings on the table when the backup was created.

          • TimeToLiveStatus (string) –

            The TTL status for the table.

          • AttributeName (string) –

            The name of the TTL attribute for items in the table.

        • SSEDescription (dict) –

          The description of the server-side encryption status on the table when the backup was created.

          • Status (string) –

            Represents the current state of server-side encryption. The only supported values are:

            • ENABLED - Server-side encryption is enabled.

            • UPDATING - Server-side encryption is being updated.

          • SSEType (string) –

            Server-side encryption type. The only supported value is:

            • KMS - Server-side encryption that uses Key Management Service. The key is stored in your account and is managed by KMS (KMS charges apply).

          • KMSMasterKeyArn (string) –

            The KMS key ARN used for the KMS encryption.

          • InaccessibleEncryptionDateTime (datetime) –

            Indicates the time, in UNIX epoch date format, when DynamoDB detected that the table’s KMS key was inaccessible. This attribute will automatically be cleared when DynamoDB detects that the table’s KMS key is accessible again. DynamoDB will initiate the table archival process when table’s KMS key remains inaccessible for more than seven days from this date.

Exceptions

  • DynamoDB.Client.exceptions.BackupNotFoundException

  • DynamoDB.Client.exceptions.InternalServerError