Amazon Relational Database Service

2020/01/23 - Amazon Relational Database Service - 3 new api methods

Changes  This SDK release introduces APIs that automate the export of Amazon RDS snapshot data to Amazon S3. The new APIs include: StartExportTask, CancelExportTask, DescribeExportTasks. These APIs automate the extraction of data from an RDS snapshot and export it to an Amazon S3 bucket. The data is stored in a compressed, consistent, and query-able format. After the data is exported, you can query it directly using tools such as Amazon Athena or Redshift Spectrum. You can also consume the data as part of a data lake solution. If you archive the data in S3 Infrequent Access or Glacier, you can reduce long term data storage costs by applying data lifecycle policies.

StartExportTask (new) Link ¶

Starts an export of a snapshot to Amazon S3. The provided IAM role must have access to the S3 bucket.

See also: AWS API Documentation

Request Syntax

client.start_export_task(
    ExportTaskIdentifier='string',
    SourceArn='string',
    S3BucketName='string',
    IamRoleArn='string',
    KmsKeyId='string',
    S3Prefix='string',
    ExportOnly=[
        'string',
    ]
)
type ExportTaskIdentifier

string

param ExportTaskIdentifier

[REQUIRED]

A unique identifier for the snapshot export task. This ID isn't an identifier for the Amazon S3 bucket where the snapshot is to be exported to.

type SourceArn

string

param SourceArn

[REQUIRED]

The Amazon Resource Name (ARN) of the snapshot to export to Amazon S3.

type S3BucketName

string

param S3BucketName

[REQUIRED]

The name of the Amazon S3 bucket to export the snapshot to.

type IamRoleArn

string

param IamRoleArn

[REQUIRED]

The name of the IAM role to use for writing to the Amazon S3 bucket when exporting a snapshot.

type KmsKeyId

string

param KmsKeyId

[REQUIRED]

The ID of the AWS KMS key to use to encrypt the snapshot exported to Amazon S3. The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or the KMS key alias for the KMS encryption key. The IAM role used for the snapshot export must have encryption and decryption permissions to use this KMS key.

type S3Prefix

string

param S3Prefix

The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.

type ExportOnly

list

param ExportOnly

The data to be exported from the snapshot. If this parameter is not provided, all the snapshot data is exported. Valid values are the following:

  • database - Export all the data of the snapshot.

  • database.table [table-name] - Export a table of the snapshot.

  • database.schema [schema-name] - Export a database schema of the snapshot. This value isn't valid for RDS for MySQL, RDS for MariaDB, or Aurora MySQL.

  • database.schema.table [table-name] - Export a table of the database schema. This value isn't valid for RDS for MySQL, RDS for MariaDB, or Aurora MySQL.

  • (string) --

rtype

dict

returns

Response Syntax

{
    'ExportTaskIdentifier': 'string',
    'SourceArn': 'string',
    'ExportOnly': [
        'string',
    ],
    'SnapshotTime': datetime(2015, 1, 1),
    'TaskStartTime': datetime(2015, 1, 1),
    'TaskEndTime': datetime(2015, 1, 1),
    'S3Bucket': 'string',
    'S3Prefix': 'string',
    'IamRoleArn': 'string',
    'KmsKeyId': 'string',
    'Status': 'string',
    'PercentProgress': 123,
    'TotalExtractedDataInGB': 123,
    'FailureCause': 'string',
    'WarningMessage': 'string'
}

Response Structure

  • (dict) --

    Contains the details of a snapshot export to Amazon S3.

    This data type is used as a response element in the DescribeExportTasks action.

    • ExportTaskIdentifier (string) --

      A unique identifier for the snapshot export task. This ID isn't an identifier for the Amazon S3 bucket where the snapshot is exported to.

    • SourceArn (string) --

      The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.

    • ExportOnly (list) --

      The data exported from the snapshot. Valid values are the following:

      • database - Export all the data of the snapshot.

      • database.table [table-name] - Export a table of the snapshot.

      • database.schema [schema-name] - Export a database schema of the snapshot. This value isn't valid for RDS for MySQL, RDS for MariaDB, or Aurora MySQL.

      • database.schema.table [table-name] - Export a table of the database schema. This value isn't valid for RDS for MySQL, RDS for MariaDB, or Aurora MySQL.

      • (string) --

    • SnapshotTime (datetime) --

      The time that the snapshot was created.

    • TaskStartTime (datetime) --

      The time that the snapshot export task started.

    • TaskEndTime (datetime) --

      The time that the snapshot export task completed.

    • S3Bucket (string) --

      The Amazon S3 bucket that the snapshot is exported to.

    • S3Prefix (string) --

      The Amazon S3 bucket prefix that is the file name and path of the exported snapshot.

    • IamRoleArn (string) --

      The name of the IAM role that is used to write to Amazon S3 when exporting a snapshot.

    • KmsKeyId (string) --

      The ID of the AWS KMS key that is used to encrypt the snapshot when it's exported to Amazon S3. The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or the KMS key alias for the KMS encryption key. The IAM role used for the snapshot export must have encryption and decryption permissions to use this KMS key.

    • Status (string) --

      The progress status of the export task.

    • PercentProgress (integer) --

      The progress of the snapshot export task as a percentage.

    • TotalExtractedDataInGB (integer) --

      The total amount of data exported, in gigabytes.

    • FailureCause (string) --

      The reason the export failed, if it failed.

    • WarningMessage (string) --

      A warning about the snapshot export task.

DescribeExportTasks (new) Link ¶

Returns information about a snapshot export to Amazon S3. This API operation supports pagination.

See also: AWS API Documentation

Request Syntax

client.describe_export_tasks(
    ExportTaskIdentifier='string',
    SourceArn='string',
    Filters=[
        {
            'Name': 'string',
            'Values': [
                'string',
            ]
        },
    ],
    Marker='string',
    MaxRecords='string'
)
type ExportTaskIdentifier

string

param ExportTaskIdentifier

The identifier of the snapshot export task to be described.

type SourceArn

string

param SourceArn

The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.

type Filters

list

param Filters

Filters specify one or more snapshot exports to describe. The filters are specified as name-value pairs that define what to include in the output.

Supported filters include the following:

  • export-task-identifier - An identifier for the snapshot export task.

  • s3-bucket - The Amazon S3 bucket the snapshot is exported to.

  • source-arn - The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3

  • status - The status of the export task.

  • (dict) --

    A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as IDs. The filters supported by a describe operation are documented with the describe operation.

    Note

    Currently, wildcards are not supported in filters.

    The following actions can be filtered:

    • DescribeDBClusterBacktracks

    • DescribeDBClusterEndpoints

    • DescribeDBClusters

    • DescribeDBInstances

    • DescribePendingMaintenanceActions

    • Name (string) -- [REQUIRED]

      The name of the filter. Filter names are case-sensitive.

    • Values (list) -- [REQUIRED]

      One or more filter values. Filter values are case-sensitive.

      • (string) --

type Marker

string

param Marker

An optional pagination token provided by a previous DescribeExportTasks request. If you specify this parameter, the response includes only records beyond the marker, up to the value specified by the MaxRecords parameter.

type MaxRecords

string

param MaxRecords

The maximum number of records to include in the response. If more records exist than the specified value, a pagination token called a marker is included in the response. You can use the marker in a later DescribeExportTasks request to retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

rtype

dict

returns

Response Syntax

{
    'Marker': 'string',
    'ExportTasks': [
        {
            'ExportTaskIdentifier': 'string',
            'SourceArn': 'string',
            'ExportOnly': [
                'string',
            ],
            'SnapshotTime': datetime(2015, 1, 1),
            'TaskStartTime': datetime(2015, 1, 1),
            'TaskEndTime': datetime(2015, 1, 1),
            'S3Bucket': 'string',
            'S3Prefix': 'string',
            'IamRoleArn': 'string',
            'KmsKeyId': 'string',
            'Status': 'string',
            'PercentProgress': 123,
            'TotalExtractedDataInGB': 123,
            'FailureCause': 'string',
            'WarningMessage': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • Marker (string) --

      A pagination token that can be used in a later DescribeExportTasks request. A marker is used for pagination to identify the location to begin output for the next response of DescribeExportTasks .

    • ExportTasks (list) --

      Information about an export of a snapshot to Amazon S3.

      • (dict) --

        Contains the details of a snapshot export to Amazon S3.

        This data type is used as a response element in the DescribeExportTasks action.

        • ExportTaskIdentifier (string) --

          A unique identifier for the snapshot export task. This ID isn't an identifier for the Amazon S3 bucket where the snapshot is exported to.

        • SourceArn (string) --

          The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.

        • ExportOnly (list) --

          The data exported from the snapshot. Valid values are the following:

          • database - Export all the data of the snapshot.

          • database.table [table-name] - Export a table of the snapshot.

          • database.schema [schema-name] - Export a database schema of the snapshot. This value isn't valid for RDS for MySQL, RDS for MariaDB, or Aurora MySQL.

          • database.schema.table [table-name] - Export a table of the database schema. This value isn't valid for RDS for MySQL, RDS for MariaDB, or Aurora MySQL.

          • (string) --

        • SnapshotTime (datetime) --

          The time that the snapshot was created.

        • TaskStartTime (datetime) --

          The time that the snapshot export task started.

        • TaskEndTime (datetime) --

          The time that the snapshot export task completed.

        • S3Bucket (string) --

          The Amazon S3 bucket that the snapshot is exported to.

        • S3Prefix (string) --

          The Amazon S3 bucket prefix that is the file name and path of the exported snapshot.

        • IamRoleArn (string) --

          The name of the IAM role that is used to write to Amazon S3 when exporting a snapshot.

        • KmsKeyId (string) --

          The ID of the AWS KMS key that is used to encrypt the snapshot when it's exported to Amazon S3. The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or the KMS key alias for the KMS encryption key. The IAM role used for the snapshot export must have encryption and decryption permissions to use this KMS key.

        • Status (string) --

          The progress status of the export task.

        • PercentProgress (integer) --

          The progress of the snapshot export task as a percentage.

        • TotalExtractedDataInGB (integer) --

          The total amount of data exported, in gigabytes.

        • FailureCause (string) --

          The reason the export failed, if it failed.

        • WarningMessage (string) --

          A warning about the snapshot export task.

CancelExportTask (new) Link ¶

Cancels an export task in progress that is exporting a snapshot to Amazon S3. Any data that has already been written to the S3 bucket isn't removed.

See also: AWS API Documentation

Request Syntax

client.cancel_export_task(
    ExportTaskIdentifier='string'
)
type ExportTaskIdentifier

string

param ExportTaskIdentifier

[REQUIRED]

The identifier of the snapshot export task to cancel.

rtype

dict

returns

Response Syntax

{
    'ExportTaskIdentifier': 'string',
    'SourceArn': 'string',
    'ExportOnly': [
        'string',
    ],
    'SnapshotTime': datetime(2015, 1, 1),
    'TaskStartTime': datetime(2015, 1, 1),
    'TaskEndTime': datetime(2015, 1, 1),
    'S3Bucket': 'string',
    'S3Prefix': 'string',
    'IamRoleArn': 'string',
    'KmsKeyId': 'string',
    'Status': 'string',
    'PercentProgress': 123,
    'TotalExtractedDataInGB': 123,
    'FailureCause': 'string',
    'WarningMessage': 'string'
}

Response Structure

  • (dict) --

    Contains the details of a snapshot export to Amazon S3.

    This data type is used as a response element in the DescribeExportTasks action.

    • ExportTaskIdentifier (string) --

      A unique identifier for the snapshot export task. This ID isn't an identifier for the Amazon S3 bucket where the snapshot is exported to.

    • SourceArn (string) --

      The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.

    • ExportOnly (list) --

      The data exported from the snapshot. Valid values are the following:

      • database - Export all the data of the snapshot.

      • database.table [table-name] - Export a table of the snapshot.

      • database.schema [schema-name] - Export a database schema of the snapshot. This value isn't valid for RDS for MySQL, RDS for MariaDB, or Aurora MySQL.

      • database.schema.table [table-name] - Export a table of the database schema. This value isn't valid for RDS for MySQL, RDS for MariaDB, or Aurora MySQL.

      • (string) --

    • SnapshotTime (datetime) --

      The time that the snapshot was created.

    • TaskStartTime (datetime) --

      The time that the snapshot export task started.

    • TaskEndTime (datetime) --

      The time that the snapshot export task completed.

    • S3Bucket (string) --

      The Amazon S3 bucket that the snapshot is exported to.

    • S3Prefix (string) --

      The Amazon S3 bucket prefix that is the file name and path of the exported snapshot.

    • IamRoleArn (string) --

      The name of the IAM role that is used to write to Amazon S3 when exporting a snapshot.

    • KmsKeyId (string) --

      The ID of the AWS KMS key that is used to encrypt the snapshot when it's exported to Amazon S3. The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or the KMS key alias for the KMS encryption key. The IAM role used for the snapshot export must have encryption and decryption permissions to use this KMS key.

    • Status (string) --

      The progress status of the export task.

    • PercentProgress (integer) --

      The progress of the snapshot export task as a percentage.

    • TotalExtractedDataInGB (integer) --

      The total amount of data exported, in gigabytes.

    • FailureCause (string) --

      The reason the export failed, if it failed.

    • WarningMessage (string) --

      A warning about the snapshot export task.