AWS DataSync

2023/08/30 - AWS DataSync - 5 updated api methods

Changes  AWS DataSync introduces Task Reports, a new feature that provides detailed reports of data transfer operations for each task execution.

CreateTask (updated) Link ¶
Changes (request)
{'TaskReportConfig': {'Destination': {'S3': {'BucketAccessRoleArn': 'string',
                                             'S3BucketArn': 'string',
                                             'Subdirectory': 'string'}},
                      'ObjectVersionIds': 'INCLUDE | NONE',
                      'OutputType': 'SUMMARY_ONLY | STANDARD',
                      'Overrides': {'Deleted': {'ReportLevel': 'ERRORS_ONLY | '
                                                               'SUCCESSES_AND_ERRORS'},
                                    'Skipped': {'ReportLevel': 'ERRORS_ONLY | '
                                                               'SUCCESSES_AND_ERRORS'},
                                    'Transferred': {'ReportLevel': 'ERRORS_ONLY '
                                                                   '| '
                                                                   'SUCCESSES_AND_ERRORS'},
                                    'Verified': {'ReportLevel': 'ERRORS_ONLY | '
                                                                'SUCCESSES_AND_ERRORS'}},
                      'ReportLevel': 'ERRORS_ONLY | SUCCESSES_AND_ERRORS'}}

Configures a transfer task, which defines where and how DataSync moves your data.

A task includes a source location, destination location, and the options for how and when you want to transfer your data (such as bandwidth limits, scheduling, among other options).

Warning

If you're planning to transfer data to or from an Amazon S3 location, review how DataSync can affect your S3 request charges and the DataSync pricing page before you begin.

See also: AWS API Documentation

Request Syntax

client.create_task(
    SourceLocationArn='string',
    DestinationLocationArn='string',
    CloudWatchLogGroupArn='string',
    Name='string',
    Options={
        'VerifyMode': 'POINT_IN_TIME_CONSISTENT'|'ONLY_FILES_TRANSFERRED'|'NONE',
        'OverwriteMode': 'ALWAYS'|'NEVER',
        'Atime': 'NONE'|'BEST_EFFORT',
        'Mtime': 'NONE'|'PRESERVE',
        'Uid': 'NONE'|'INT_VALUE'|'NAME'|'BOTH',
        'Gid': 'NONE'|'INT_VALUE'|'NAME'|'BOTH',
        'PreserveDeletedFiles': 'PRESERVE'|'REMOVE',
        'PreserveDevices': 'NONE'|'PRESERVE',
        'PosixPermissions': 'NONE'|'PRESERVE',
        'BytesPerSecond': 123,
        'TaskQueueing': 'ENABLED'|'DISABLED',
        'LogLevel': 'OFF'|'BASIC'|'TRANSFER',
        'TransferMode': 'CHANGED'|'ALL',
        'SecurityDescriptorCopyFlags': 'NONE'|'OWNER_DACL'|'OWNER_DACL_SACL',
        'ObjectTags': 'PRESERVE'|'NONE'
    },
    Excludes=[
        {
            'FilterType': 'SIMPLE_PATTERN',
            'Value': 'string'
        },
    ],
    Schedule={
        'ScheduleExpression': 'string'
    },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    Includes=[
        {
            'FilterType': 'SIMPLE_PATTERN',
            'Value': 'string'
        },
    ],
    TaskReportConfig={
        'Destination': {
            'S3': {
                'Subdirectory': 'string',
                'S3BucketArn': 'string',
                'BucketAccessRoleArn': 'string'
            }
        },
        'OutputType': 'SUMMARY_ONLY'|'STANDARD',
        'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS',
        'ObjectVersionIds': 'INCLUDE'|'NONE',
        'Overrides': {
            'Transferred': {
                'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS'
            },
            'Verified': {
                'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS'
            },
            'Deleted': {
                'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS'
            },
            'Skipped': {
                'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS'
            }
        }
    }
)
type SourceLocationArn

string

param SourceLocationArn

[REQUIRED]

The Amazon Resource Name (ARN) of the source location for the task.

type DestinationLocationArn

string

param DestinationLocationArn

[REQUIRED]

The Amazon Resource Name (ARN) of an Amazon Web Services storage resource's location.

type CloudWatchLogGroupArn

string

param CloudWatchLogGroupArn

The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is used to monitor and log events in the task.

type Name

string

param Name

The name of a task. This value is a text reference that is used to identify the task in the console.

type Options

dict

param Options

Specifies the configuration options for a task. Some options include preserving file or object metadata and verifying data integrity.

You can also override these options before starting an individual run of a task (also known as a task execution ). For more information, see StartTaskExecution .

  • VerifyMode (string) --

    Specifies how and when DataSync checks the integrity of your data during a transfer.

    Default value: POINT_IN_TIME_CONSISTENT

    ONLY_FILES_TRANSFERRED (recommended): DataSync calculates the checksum of transferred files and metadata at the source location. At the end of the transfer, DataSync then compares this checksum to the checksum calculated on those files at the destination.

    We recommend this option when transferring to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. For more information, see Storage class considerations with Amazon S3 locations .

    POINT_IN_TIME_CONSISTENT : At the end of the transfer, DataSync scans the entire source and destination to verify that both locations are fully synchronized.

    You can't use this option when transferring to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. For more information, see Storage class considerations with Amazon S3 locations .

    NONE : DataSync doesn't run additional verification at the end of the transfer. All data transmissions are still integrity-checked with checksum verification during the transfer.

  • OverwriteMode (string) --

    Specifies whether data at the destination location should be overwritten or preserved. If set to NEVER , a destination file for example will not be replaced by a source file (even if the destination file differs from the source file). If you modify files in the destination and you sync the files, you can use this value to protect against overwriting those changes.

    Some storage classes have specific behaviors that can affect your Amazon S3 storage cost. For detailed information, see Considerations when working with Amazon S3 storage classes in DataSync .

  • Atime (string) --

    Specifies whether to preserve metadata indicating the last time a file was read or written to. If you set Atime to BEST_EFFORT , DataSync attempts to preserve the original Atime attribute on all source files (that is, the version before the PREPARING phase of the task execution).

    Note

    The behavior of Atime isn't fully standard across platforms, so DataSync can only do this on a best-effort basis.

    Default value: BEST_EFFORT

    BEST_EFFORT : Attempt to preserve the per-file Atime value (recommended).

    NONE : Ignore Atime .

    Note

    If Atime is set to BEST_EFFORT , Mtime must be set to PRESERVE .

    If Atime is set to NONE , Mtime must also be NONE .

  • Mtime (string) --

    Specifies whether to preserve metadata indicating the last time that a file was written to before the PREPARING phase of your task execution. This option is required when you need to run the a task more than once.

    Default Value: PRESERVE

    PRESERVE : Preserve original Mtime (recommended)

    NONE : Ignore Mtime .

    Note

    If Mtime is set to PRESERVE , Atime must be set to BEST_EFFORT .

    If Mtime is set to NONE , Atime must also be set to NONE .

  • Uid (string) --

    Specifies the POSIX user ID (UID) of the file's owner.

    For more information, see Metadata copied by DataSync .

    Default value: INT_VALUE . This preserves the integer value of the ID.

    INT_VALUE : Preserve the integer value of UID and group ID (GID) (recommended).

    NONE : Ignore UID and GID.

  • Gid (string) --

    Specifies the POSIX group ID (GID) of the file's owners.

    For more information, see Metadata copied by DataSync .

    Default value: INT_VALUE . This preserves the integer value of the ID.

    INT_VALUE : Preserve the integer value of user ID (UID) and GID (recommended).

    NONE : Ignore UID and GID.

  • PreserveDeletedFiles (string) --

    Specifies whether files in the destination location that don't exist in the source should be preserved. This option can affect your Amazon S3 storage cost. If your task deletes objects, you might incur minimum storage duration charges for certain storage classes. For detailed information, see Considerations when working with Amazon S3 storage classes in DataSync .

    Default value: PRESERVE

    PRESERVE : Ignore such destination files (recommended).

    REMOVE : Delete destination files that aren’t present in the source.

    Note

    If you set this parameter to REMOVE , you can't set TransferMode to ALL . When you transfer all data, DataSync doesn't scan your destination location and doesn't know what to delete.

  • PreserveDevices (string) --

    Specifies whether DataSync should preserve the metadata of block and character devices in the source location and recreate the files with that device name and metadata on the destination. DataSync copies only the name and metadata of such devices.

    Note

    DataSync can't copy the actual contents of these devices because they're nonterminal and don't return an end-of-file (EOF) marker.

    Default value: NONE

    NONE : Ignore special devices (recommended).

    PRESERVE : Preserve character and block device metadata. This option currently isn't supported for Amazon EFS.

  • PosixPermissions (string) --

    Specifies which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file.

    For more information, see Metadata copied by DataSync .

    Default value: PRESERVE

    PRESERVE : Preserve POSIX-style permissions (recommended).

    NONE : Ignore permissions.

    Note

    DataSync can preserve extant permissions of a source location.

  • BytesPerSecond (integer) --

    Limits the bandwidth used by a DataSync task. For example, if you want DataSync to use a maximum of 1 MB, set this value to 1048576 (=1024*1024 ).

  • TaskQueueing (string) --

    Specifies whether your transfer tasks should be put into a queue during certain scenarios when running multiple tasks . This is ENABLED by default.

  • LogLevel (string) --

    Specifies the type of logs that DataSync publishes to a Amazon CloudWatch Logs log group. To specify the log group, see CloudWatchLogGroupArn .

    If you set LogLevel to OFF , no logs are published. BASIC publishes logs on errors for individual files transferred. TRANSFER publishes logs for every file or object that is transferred and integrity checked.

  • TransferMode (string) --

    Determines whether DataSync transfers only the data and metadata that differ between the source and the destination location or transfers all the content from the source (without comparing what's in the destination).

    CHANGED : DataSync copies only data or metadata that is new or different content from the source location to the destination location.

    ALL : DataSync copies all source location content to the destination (without comparing what's in the destination).

  • SecurityDescriptorCopyFlags (string) --

    Specifies which components of the SMB security descriptor are copied from source to destination objects.

    This value is only used for transfers between SMB and Amazon FSx for Windows File Server locations or between two FSx for Windows File Server locations. For more information, see how DataSync handles metadata .

    Default value: OWNER_DACL

    OWNER_DACL : For each copied object, DataSync copies the following metadata:

    • The object owner.

    • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object. DataSync won't copy NTFS system access control lists (SACLs) with this option.

    OWNER_DACL_SACL : For each copied object, DataSync copies the following metadata:

    • The object owner.

    • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.

    • SACLs, which are used by administrators to log attempts to access a secured object. Copying SACLs requires granting additional permissions to the Windows user that DataSync uses to access your SMB location. For information about choosing a user that ensures sufficient permissions to files, folders, and metadata, see user .

    NONE : None of the SMB security descriptor components are copied. Destination objects are owned by the user that was provided for accessing the destination location. DACLs and SACLs are set based on the destination server’s configuration.

  • ObjectTags (string) --

    Specifies whether object tags are preserved when transferring between object storage systems. If you want your DataSync task to ignore object tags, specify the NONE value.

    Default Value: PRESERVE

type Excludes

list

param Excludes

Specifies a list of filter rules that exclude specific data during your transfer. For more information and examples, see Filtering data transferred by DataSync .

  • (dict) --

    Specifies which files, folders, and objects to include or exclude when transferring files from source to destination.

    • FilterType (string) --

      The type of filter rule to apply. DataSync only supports the SIMPLE_PATTERN rule type.

    • Value (string) --

      A single filter string that consists of the patterns to include or exclude. The patterns are delimited by "|" (that is, a pipe), for example: /folder1|/folder2

type Schedule

dict

param Schedule

Specifies a schedule used to periodically transfer files from a source to a destination location. The schedule should be specified in UTC time. For more information, see Scheduling your task .

  • ScheduleExpression (string) -- [REQUIRED]

    A cron expression that specifies when DataSync initiates a scheduled transfer from a source to a destination location.

type Tags

list

param Tags

Specifies the tags that you want to apply to the Amazon Resource Name (ARN) representing the task.

Tags are key-value pairs that help you manage, filter, and search for your DataSync resources.

  • (dict) --

    A key-value pair representing a single tag that's been applied to an Amazon Web Services resource.

    • Key (string) -- [REQUIRED]

      The key for an Amazon Web Services resource tag.

    • Value (string) --

      The value for an Amazon Web Services resource tag.

type Includes

list

param Includes

Specifies a list of filter rules that include specific data during your transfer. For more information and examples, see Filtering data transferred by DataSync .

  • (dict) --

    Specifies which files, folders, and objects to include or exclude when transferring files from source to destination.

    • FilterType (string) --

      The type of filter rule to apply. DataSync only supports the SIMPLE_PATTERN rule type.

    • Value (string) --

      A single filter string that consists of the patterns to include or exclude. The patterns are delimited by "|" (that is, a pipe), for example: /folder1|/folder2

type TaskReportConfig

dict

param TaskReportConfig

Specifies how you want to configure a task report, which provides detailed information about for your DataSync transfer.

  • Destination (dict) --

    Specifies the Amazon S3 bucket where DataSync uploads your task report. For more information, see Task reports .

    • S3 (dict) --

      Specifies the Amazon S3 bucket where DataSync uploads your task report.

      • Subdirectory (string) --

        Specifies a bucket prefix for your report.

      • S3BucketArn (string) -- [REQUIRED]

        Specifies the ARN of the S3 bucket where DataSync uploads your report.

      • BucketAccessRoleArn (string) -- [REQUIRED]

        Specifies the Amazon Resource Name (ARN) of the IAM policy that allows DataSync to upload a task report to your S3 bucket. For more information, see Allowing DataSync to upload a task report to an Amazon S3 bucket .

  • OutputType (string) --

    Specifies the type of task report that you want:

    • SUMMARY_ONLY : Provides necessary details about your task, including the number of files, objects, and directories transferred and transfer duration.

    • STANDARD : Provides complete details about your task, including a full list of files, objects, and directories that were transferred, skipped, verified, and more.

  • ReportLevel (string) --

    Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't.

    • ERRORS_ONLY : A report shows what DataSync was unable to transfer, skip, verify, and delete.

    • SUCCESSES_AND_ERRORS : A report shows what DataSync was able and unable to transfer, skip, verify, and delete.

  • ObjectVersionIds (string) --

    Specifies whether your task report includes the new version of each object transferred into an S3 bucket. This only applies if you enable versioning on your bucket . Keep in mind that setting this to INCLUDE can increase the duration of your task execution.

  • Overrides (dict) --

    Customizes the reporting level for aspects of your task report. For example, your report might generally only include errors, but you could specify that you want a list of successes and errors just for the files that DataSync attempted to delete in your destination location.

    • Transferred (dict) --

      Specifies the level of reporting for the files, objects, and directories that DataSync attempted to transfer.

      • ReportLevel (string) --

        Specifies whether your task report includes errors only or successes and errors.

        For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY ). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS ).

    • Verified (dict) --

      Specifies the level of reporting for the files, objects, and directories that DataSync attempted to verify at the end of your transfer. This only applies if you configure your task to verify data during and after the transfer (which DataSync does by default).

      • ReportLevel (string) --

        Specifies whether your task report includes errors only or successes and errors.

        For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY ). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS ).

    • Deleted (dict) --

      Specifies the level of reporting for the files, objects, and directories that DataSync attempted to delete in your destination location. This only applies if you configure your task to delete data in the destination that isn't in the source.

      • ReportLevel (string) --

        Specifies whether your task report includes errors only or successes and errors.

        For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY ). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS ).

    • Skipped (dict) --

      Specifies the level of reporting for the files, objects, and directories that DataSync attempted to skip during your transfer.

      • ReportLevel (string) --

        Specifies whether your task report includes errors only or successes and errors.

        For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY ). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS ).

rtype

dict

returns

Response Syntax

{
    'TaskArn': 'string'
}

Response Structure

  • (dict) --

    CreateTaskResponse

    • TaskArn (string) --

      The Amazon Resource Name (ARN) of the task.

DescribeTask (updated) Link ¶
Changes (response)
{'TaskReportConfig': {'Destination': {'S3': {'BucketAccessRoleArn': 'string',
                                             'S3BucketArn': 'string',
                                             'Subdirectory': 'string'}},
                      'ObjectVersionIds': 'INCLUDE | NONE',
                      'OutputType': 'SUMMARY_ONLY | STANDARD',
                      'Overrides': {'Deleted': {'ReportLevel': 'ERRORS_ONLY | '
                                                               'SUCCESSES_AND_ERRORS'},
                                    'Skipped': {'ReportLevel': 'ERRORS_ONLY | '
                                                               'SUCCESSES_AND_ERRORS'},
                                    'Transferred': {'ReportLevel': 'ERRORS_ONLY '
                                                                   '| '
                                                                   'SUCCESSES_AND_ERRORS'},
                                    'Verified': {'ReportLevel': 'ERRORS_ONLY | '
                                                                'SUCCESSES_AND_ERRORS'}},
                      'ReportLevel': 'ERRORS_ONLY | SUCCESSES_AND_ERRORS'}}

Provides information about an DataSync transfer task.

See also: AWS API Documentation

Request Syntax

client.describe_task(
    TaskArn='string'
)
type TaskArn

string

param TaskArn

[REQUIRED]

Specifies the Amazon Resource Name (ARN) of the transfer task.

rtype

dict

returns

Response Syntax

{
    'TaskArn': 'string',
    'Status': 'AVAILABLE'|'CREATING'|'QUEUED'|'RUNNING'|'UNAVAILABLE',
    'Name': 'string',
    'CurrentTaskExecutionArn': 'string',
    'SourceLocationArn': 'string',
    'DestinationLocationArn': 'string',
    'CloudWatchLogGroupArn': 'string',
    'SourceNetworkInterfaceArns': [
        'string',
    ],
    'DestinationNetworkInterfaceArns': [
        'string',
    ],
    'Options': {
        'VerifyMode': 'POINT_IN_TIME_CONSISTENT'|'ONLY_FILES_TRANSFERRED'|'NONE',
        'OverwriteMode': 'ALWAYS'|'NEVER',
        'Atime': 'NONE'|'BEST_EFFORT',
        'Mtime': 'NONE'|'PRESERVE',
        'Uid': 'NONE'|'INT_VALUE'|'NAME'|'BOTH',
        'Gid': 'NONE'|'INT_VALUE'|'NAME'|'BOTH',
        'PreserveDeletedFiles': 'PRESERVE'|'REMOVE',
        'PreserveDevices': 'NONE'|'PRESERVE',
        'PosixPermissions': 'NONE'|'PRESERVE',
        'BytesPerSecond': 123,
        'TaskQueueing': 'ENABLED'|'DISABLED',
        'LogLevel': 'OFF'|'BASIC'|'TRANSFER',
        'TransferMode': 'CHANGED'|'ALL',
        'SecurityDescriptorCopyFlags': 'NONE'|'OWNER_DACL'|'OWNER_DACL_SACL',
        'ObjectTags': 'PRESERVE'|'NONE'
    },
    'Excludes': [
        {
            'FilterType': 'SIMPLE_PATTERN',
            'Value': 'string'
        },
    ],
    'Schedule': {
        'ScheduleExpression': 'string'
    },
    'ErrorCode': 'string',
    'ErrorDetail': 'string',
    'CreationTime': datetime(2015, 1, 1),
    'Includes': [
        {
            'FilterType': 'SIMPLE_PATTERN',
            'Value': 'string'
        },
    ],
    'TaskReportConfig': {
        'Destination': {
            'S3': {
                'Subdirectory': 'string',
                'S3BucketArn': 'string',
                'BucketAccessRoleArn': 'string'
            }
        },
        'OutputType': 'SUMMARY_ONLY'|'STANDARD',
        'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS',
        'ObjectVersionIds': 'INCLUDE'|'NONE',
        'Overrides': {
            'Transferred': {
                'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS'
            },
            'Verified': {
                'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS'
            },
            'Deleted': {
                'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS'
            },
            'Skipped': {
                'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS'
            }
        }
    }
}

Response Structure

  • (dict) --

    DescribeTaskResponse

    • TaskArn (string) --

      The Amazon Resource Name (ARN) of the task that was described.

    • Status (string) --

      The status of the task that was described.

      For detailed information about task execution statuses, see Understanding Task Statuses in the DataSync User Guide .

    • Name (string) --

      The name of the task that was described.

    • CurrentTaskExecutionArn (string) --

      The Amazon Resource Name (ARN) of the task execution that is transferring files.

    • SourceLocationArn (string) --

      The Amazon Resource Name (ARN) of the source file system's location.

    • DestinationLocationArn (string) --

      The Amazon Resource Name (ARN) of the Amazon Web Services storage resource's location.

    • CloudWatchLogGroupArn (string) --

      The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that was used to monitor and log events in the task.

      For more information on these groups, see Working with Log Groups and Log Streams in the Amazon CloudWatch User Guide .

    • SourceNetworkInterfaceArns (list) --

      The Amazon Resource Names (ARNs) of the network interfaces created for your source location. For more information, see Network interface requirements .

      • (string) --

    • DestinationNetworkInterfaceArns (list) --

      The Amazon Resource Names (ARNs) of the network interfaces created for your destination location. For more information, see Network interface requirements .

      • (string) --

    • Options (dict) --

      The configuration options that control the behavior of the StartTaskExecution operation. Some options include preserving file or object metadata and verifying data integrity.

      You can override these options for each task execution. For more information, see StartTaskExecution .

      • VerifyMode (string) --

        Specifies how and when DataSync checks the integrity of your data during a transfer.

        Default value: POINT_IN_TIME_CONSISTENT

        ONLY_FILES_TRANSFERRED (recommended): DataSync calculates the checksum of transferred files and metadata at the source location. At the end of the transfer, DataSync then compares this checksum to the checksum calculated on those files at the destination.

        We recommend this option when transferring to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. For more information, see Storage class considerations with Amazon S3 locations .

        POINT_IN_TIME_CONSISTENT : At the end of the transfer, DataSync scans the entire source and destination to verify that both locations are fully synchronized.

        You can't use this option when transferring to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. For more information, see Storage class considerations with Amazon S3 locations .

        NONE : DataSync doesn't run additional verification at the end of the transfer. All data transmissions are still integrity-checked with checksum verification during the transfer.

      • OverwriteMode (string) --

        Specifies whether data at the destination location should be overwritten or preserved. If set to NEVER , a destination file for example will not be replaced by a source file (even if the destination file differs from the source file). If you modify files in the destination and you sync the files, you can use this value to protect against overwriting those changes.

        Some storage classes have specific behaviors that can affect your Amazon S3 storage cost. For detailed information, see Considerations when working with Amazon S3 storage classes in DataSync .

      • Atime (string) --

        Specifies whether to preserve metadata indicating the last time a file was read or written to. If you set Atime to BEST_EFFORT , DataSync attempts to preserve the original Atime attribute on all source files (that is, the version before the PREPARING phase of the task execution).

        Note

        The behavior of Atime isn't fully standard across platforms, so DataSync can only do this on a best-effort basis.

        Default value: BEST_EFFORT

        BEST_EFFORT : Attempt to preserve the per-file Atime value (recommended).

        NONE : Ignore Atime .

        Note

        If Atime is set to BEST_EFFORT , Mtime must be set to PRESERVE .

        If Atime is set to NONE , Mtime must also be NONE .

      • Mtime (string) --

        Specifies whether to preserve metadata indicating the last time that a file was written to before the PREPARING phase of your task execution. This option is required when you need to run the a task more than once.

        Default Value: PRESERVE

        PRESERVE : Preserve original Mtime (recommended)

        NONE : Ignore Mtime .

        Note

        If Mtime is set to PRESERVE , Atime must be set to BEST_EFFORT .

        If Mtime is set to NONE , Atime must also be set to NONE .

      • Uid (string) --

        Specifies the POSIX user ID (UID) of the file's owner.

        For more information, see Metadata copied by DataSync .

        Default value: INT_VALUE . This preserves the integer value of the ID.

        INT_VALUE : Preserve the integer value of UID and group ID (GID) (recommended).

        NONE : Ignore UID and GID.

      • Gid (string) --

        Specifies the POSIX group ID (GID) of the file's owners.

        For more information, see Metadata copied by DataSync .

        Default value: INT_VALUE . This preserves the integer value of the ID.

        INT_VALUE : Preserve the integer value of user ID (UID) and GID (recommended).

        NONE : Ignore UID and GID.

      • PreserveDeletedFiles (string) --

        Specifies whether files in the destination location that don't exist in the source should be preserved. This option can affect your Amazon S3 storage cost. If your task deletes objects, you might incur minimum storage duration charges for certain storage classes. For detailed information, see Considerations when working with Amazon S3 storage classes in DataSync .

        Default value: PRESERVE

        PRESERVE : Ignore such destination files (recommended).

        REMOVE : Delete destination files that aren’t present in the source.

        Note

        If you set this parameter to REMOVE , you can't set TransferMode to ALL . When you transfer all data, DataSync doesn't scan your destination location and doesn't know what to delete.

      • PreserveDevices (string) --

        Specifies whether DataSync should preserve the metadata of block and character devices in the source location and recreate the files with that device name and metadata on the destination. DataSync copies only the name and metadata of such devices.

        Note

        DataSync can't copy the actual contents of these devices because they're nonterminal and don't return an end-of-file (EOF) marker.

        Default value: NONE

        NONE : Ignore special devices (recommended).

        PRESERVE : Preserve character and block device metadata. This option currently isn't supported for Amazon EFS.

      • PosixPermissions (string) --

        Specifies which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file.

        For more information, see Metadata copied by DataSync .

        Default value: PRESERVE

        PRESERVE : Preserve POSIX-style permissions (recommended).

        NONE : Ignore permissions.

        Note

        DataSync can preserve extant permissions of a source location.

      • BytesPerSecond (integer) --

        Limits the bandwidth used by a DataSync task. For example, if you want DataSync to use a maximum of 1 MB, set this value to 1048576 (=1024*1024 ).

      • TaskQueueing (string) --

        Specifies whether your transfer tasks should be put into a queue during certain scenarios when running multiple tasks . This is ENABLED by default.

      • LogLevel (string) --

        Specifies the type of logs that DataSync publishes to a Amazon CloudWatch Logs log group. To specify the log group, see CloudWatchLogGroupArn .

        If you set LogLevel to OFF , no logs are published. BASIC publishes logs on errors for individual files transferred. TRANSFER publishes logs for every file or object that is transferred and integrity checked.

      • TransferMode (string) --

        Determines whether DataSync transfers only the data and metadata that differ between the source and the destination location or transfers all the content from the source (without comparing what's in the destination).

        CHANGED : DataSync copies only data or metadata that is new or different content from the source location to the destination location.

        ALL : DataSync copies all source location content to the destination (without comparing what's in the destination).

      • SecurityDescriptorCopyFlags (string) --

        Specifies which components of the SMB security descriptor are copied from source to destination objects.

        This value is only used for transfers between SMB and Amazon FSx for Windows File Server locations or between two FSx for Windows File Server locations. For more information, see how DataSync handles metadata .

        Default value: OWNER_DACL

        OWNER_DACL : For each copied object, DataSync copies the following metadata:

        • The object owner.

        • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object. DataSync won't copy NTFS system access control lists (SACLs) with this option.

        OWNER_DACL_SACL : For each copied object, DataSync copies the following metadata:

        • The object owner.

        • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.

        • SACLs, which are used by administrators to log attempts to access a secured object. Copying SACLs requires granting additional permissions to the Windows user that DataSync uses to access your SMB location. For information about choosing a user that ensures sufficient permissions to files, folders, and metadata, see user .

        NONE : None of the SMB security descriptor components are copied. Destination objects are owned by the user that was provided for accessing the destination location. DACLs and SACLs are set based on the destination server’s configuration.

      • ObjectTags (string) --

        Specifies whether object tags are preserved when transferring between object storage systems. If you want your DataSync task to ignore object tags, specify the NONE value.

        Default Value: PRESERVE

    • Excludes (list) --

      A list of filter rules that exclude specific data during your transfer. For more information and examples, see Filtering data transferred by DataSync .

      • (dict) --

        Specifies which files, folders, and objects to include or exclude when transferring files from source to destination.

        • FilterType (string) --

          The type of filter rule to apply. DataSync only supports the SIMPLE_PATTERN rule type.

        • Value (string) --

          A single filter string that consists of the patterns to include or exclude. The patterns are delimited by "|" (that is, a pipe), for example: /folder1|/folder2

    • Schedule (dict) --

      The schedule used to periodically transfer files from a source to a destination location.

      • ScheduleExpression (string) --

        A cron expression that specifies when DataSync initiates a scheduled transfer from a source to a destination location.

    • ErrorCode (string) --

      Errors that DataSync encountered during execution of the task. You can use this error code to help troubleshoot issues.

    • ErrorDetail (string) --

      Detailed description of an error that was encountered during the task execution. You can use this information to help troubleshoot issues.

    • CreationTime (datetime) --

      The time that the task was created.

    • Includes (list) --

      A list of filter rules that include specific data during your transfer. For more information and examples, see Filtering data transferred by DataSync .

      • (dict) --

        Specifies which files, folders, and objects to include or exclude when transferring files from source to destination.

        • FilterType (string) --

          The type of filter rule to apply. DataSync only supports the SIMPLE_PATTERN rule type.

        • Value (string) --

          A single filter string that consists of the patterns to include or exclude. The patterns are delimited by "|" (that is, a pipe), for example: /folder1|/folder2

    • TaskReportConfig (dict) --

      The configuration of your task report. For more information, see Creating a task report .

      • Destination (dict) --

        Specifies the Amazon S3 bucket where DataSync uploads your task report. For more information, see Task reports .

        • S3 (dict) --

          Specifies the Amazon S3 bucket where DataSync uploads your task report.

          • Subdirectory (string) --

            Specifies a bucket prefix for your report.

          • S3BucketArn (string) --

            Specifies the ARN of the S3 bucket where DataSync uploads your report.

          • BucketAccessRoleArn (string) --

            Specifies the Amazon Resource Name (ARN) of the IAM policy that allows DataSync to upload a task report to your S3 bucket. For more information, see Allowing DataSync to upload a task report to an Amazon S3 bucket .

      • OutputType (string) --

        Specifies the type of task report that you want:

        • SUMMARY_ONLY : Provides necessary details about your task, including the number of files, objects, and directories transferred and transfer duration.

        • STANDARD : Provides complete details about your task, including a full list of files, objects, and directories that were transferred, skipped, verified, and more.

      • ReportLevel (string) --

        Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't.

        • ERRORS_ONLY : A report shows what DataSync was unable to transfer, skip, verify, and delete.

        • SUCCESSES_AND_ERRORS : A report shows what DataSync was able and unable to transfer, skip, verify, and delete.

      • ObjectVersionIds (string) --

        Specifies whether your task report includes the new version of each object transferred into an S3 bucket. This only applies if you enable versioning on your bucket . Keep in mind that setting this to INCLUDE can increase the duration of your task execution.

      • Overrides (dict) --

        Customizes the reporting level for aspects of your task report. For example, your report might generally only include errors, but you could specify that you want a list of successes and errors just for the files that DataSync attempted to delete in your destination location.

        • Transferred (dict) --

          Specifies the level of reporting for the files, objects, and directories that DataSync attempted to transfer.

          • ReportLevel (string) --

            Specifies whether your task report includes errors only or successes and errors.

            For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY ). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS ).

        • Verified (dict) --

          Specifies the level of reporting for the files, objects, and directories that DataSync attempted to verify at the end of your transfer. This only applies if you configure your task to verify data during and after the transfer (which DataSync does by default).

          • ReportLevel (string) --

            Specifies whether your task report includes errors only or successes and errors.

            For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY ). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS ).

        • Deleted (dict) --

          Specifies the level of reporting for the files, objects, and directories that DataSync attempted to delete in your destination location. This only applies if you configure your task to delete data in the destination that isn't in the source.

          • ReportLevel (string) --

            Specifies whether your task report includes errors only or successes and errors.

            For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY ). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS ).

        • Skipped (dict) --

          Specifies the level of reporting for the files, objects, and directories that DataSync attempted to skip during your transfer.

          • ReportLevel (string) --

            Specifies whether your task report includes errors only or successes and errors.

            For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY ). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS ).

DescribeTaskExecution (updated) Link ¶
Changes (response)
{'EstimatedFilesToDelete': 'long',
 'FilesDeleted': 'long',
 'FilesSkipped': 'long',
 'FilesVerified': 'long',
 'ReportResult': {'ErrorCode': 'string',
                  'ErrorDetail': 'string',
                  'Status': 'PENDING | SUCCESS | ERROR'},
 'TaskReportConfig': {'Destination': {'S3': {'BucketAccessRoleArn': 'string',
                                             'S3BucketArn': 'string',
                                             'Subdirectory': 'string'}},
                      'ObjectVersionIds': 'INCLUDE | NONE',
                      'OutputType': 'SUMMARY_ONLY | STANDARD',
                      'Overrides': {'Deleted': {'ReportLevel': 'ERRORS_ONLY | '
                                                               'SUCCESSES_AND_ERRORS'},
                                    'Skipped': {'ReportLevel': 'ERRORS_ONLY | '
                                                               'SUCCESSES_AND_ERRORS'},
                                    'Transferred': {'ReportLevel': 'ERRORS_ONLY '
                                                                   '| '
                                                                   'SUCCESSES_AND_ERRORS'},
                                    'Verified': {'ReportLevel': 'ERRORS_ONLY | '
                                                                'SUCCESSES_AND_ERRORS'}},
                      'ReportLevel': 'ERRORS_ONLY | SUCCESSES_AND_ERRORS'}}

Provides information about an execution of your DataSync task. You can use this operation to help monitor the progress of an ongoing transfer or check the results of the transfer.

See also: AWS API Documentation

Request Syntax

client.describe_task_execution(
    TaskExecutionArn='string'
)
type TaskExecutionArn

string

param TaskExecutionArn

[REQUIRED]

Specifies the Amazon Resource Name (ARN) of the task execution that you want information about.

rtype

dict

returns

Response Syntax

{
    'TaskExecutionArn': 'string',
    'Status': 'QUEUED'|'LAUNCHING'|'PREPARING'|'TRANSFERRING'|'VERIFYING'|'SUCCESS'|'ERROR',
    'Options': {
        'VerifyMode': 'POINT_IN_TIME_CONSISTENT'|'ONLY_FILES_TRANSFERRED'|'NONE',
        'OverwriteMode': 'ALWAYS'|'NEVER',
        'Atime': 'NONE'|'BEST_EFFORT',
        'Mtime': 'NONE'|'PRESERVE',
        'Uid': 'NONE'|'INT_VALUE'|'NAME'|'BOTH',
        'Gid': 'NONE'|'INT_VALUE'|'NAME'|'BOTH',
        'PreserveDeletedFiles': 'PRESERVE'|'REMOVE',
        'PreserveDevices': 'NONE'|'PRESERVE',
        'PosixPermissions': 'NONE'|'PRESERVE',
        'BytesPerSecond': 123,
        'TaskQueueing': 'ENABLED'|'DISABLED',
        'LogLevel': 'OFF'|'BASIC'|'TRANSFER',
        'TransferMode': 'CHANGED'|'ALL',
        'SecurityDescriptorCopyFlags': 'NONE'|'OWNER_DACL'|'OWNER_DACL_SACL',
        'ObjectTags': 'PRESERVE'|'NONE'
    },
    'Excludes': [
        {
            'FilterType': 'SIMPLE_PATTERN',
            'Value': 'string'
        },
    ],
    'Includes': [
        {
            'FilterType': 'SIMPLE_PATTERN',
            'Value': 'string'
        },
    ],
    'StartTime': datetime(2015, 1, 1),
    'EstimatedFilesToTransfer': 123,
    'EstimatedBytesToTransfer': 123,
    'FilesTransferred': 123,
    'BytesWritten': 123,
    'BytesTransferred': 123,
    'Result': {
        'PrepareDuration': 123,
        'PrepareStatus': 'PENDING'|'SUCCESS'|'ERROR',
        'TotalDuration': 123,
        'TransferDuration': 123,
        'TransferStatus': 'PENDING'|'SUCCESS'|'ERROR',
        'VerifyDuration': 123,
        'VerifyStatus': 'PENDING'|'SUCCESS'|'ERROR',
        'ErrorCode': 'string',
        'ErrorDetail': 'string'
    },
    'BytesCompressed': 123,
    'TaskReportConfig': {
        'Destination': {
            'S3': {
                'Subdirectory': 'string',
                'S3BucketArn': 'string',
                'BucketAccessRoleArn': 'string'
            }
        },
        'OutputType': 'SUMMARY_ONLY'|'STANDARD',
        'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS',
        'ObjectVersionIds': 'INCLUDE'|'NONE',
        'Overrides': {
            'Transferred': {
                'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS'
            },
            'Verified': {
                'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS'
            },
            'Deleted': {
                'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS'
            },
            'Skipped': {
                'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS'
            }
        }
    },
    'FilesDeleted': 123,
    'FilesSkipped': 123,
    'FilesVerified': 123,
    'ReportResult': {
        'Status': 'PENDING'|'SUCCESS'|'ERROR',
        'ErrorCode': 'string',
        'ErrorDetail': 'string'
    },
    'EstimatedFilesToDelete': 123
}

Response Structure

  • (dict) --

    DescribeTaskExecutionResponse

    • TaskExecutionArn (string) --

      The ARN of the task execution that you wanted information about. TaskExecutionArn is hierarchical and includes TaskArn for the task that was executed.

      For example, a TaskExecution value with the ARN arn:aws:datasync:us-east-1:111222333444:task/task-0208075f79cedf4a2/execution/exec-08ef1e88ec491019b executed the task with the ARN arn:aws:datasync:us-east-1:111222333444:task/task-0208075f79cedf4a2 .

    • Status (string) --

      The status of the task execution.

    • Options (dict) --

      Indicates how your transfer task is configured. These options include how DataSync handles files, objects, and their associated metadata during your transfer. You also can specify how to verify data integrity, set bandwidth limits for your task, among other options.

      Each option has a default value. Unless you need to, you don't have to configure any of these options before starting your task.

      • VerifyMode (string) --

        Specifies how and when DataSync checks the integrity of your data during a transfer.

        Default value: POINT_IN_TIME_CONSISTENT

        ONLY_FILES_TRANSFERRED (recommended): DataSync calculates the checksum of transferred files and metadata at the source location. At the end of the transfer, DataSync then compares this checksum to the checksum calculated on those files at the destination.

        We recommend this option when transferring to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. For more information, see Storage class considerations with Amazon S3 locations .

        POINT_IN_TIME_CONSISTENT : At the end of the transfer, DataSync scans the entire source and destination to verify that both locations are fully synchronized.

        You can't use this option when transferring to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. For more information, see Storage class considerations with Amazon S3 locations .

        NONE : DataSync doesn't run additional verification at the end of the transfer. All data transmissions are still integrity-checked with checksum verification during the transfer.

      • OverwriteMode (string) --

        Specifies whether data at the destination location should be overwritten or preserved. If set to NEVER , a destination file for example will not be replaced by a source file (even if the destination file differs from the source file). If you modify files in the destination and you sync the files, you can use this value to protect against overwriting those changes.

        Some storage classes have specific behaviors that can affect your Amazon S3 storage cost. For detailed information, see Considerations when working with Amazon S3 storage classes in DataSync .

      • Atime (string) --

        Specifies whether to preserve metadata indicating the last time a file was read or written to. If you set Atime to BEST_EFFORT , DataSync attempts to preserve the original Atime attribute on all source files (that is, the version before the PREPARING phase of the task execution).

        Note

        The behavior of Atime isn't fully standard across platforms, so DataSync can only do this on a best-effort basis.

        Default value: BEST_EFFORT

        BEST_EFFORT : Attempt to preserve the per-file Atime value (recommended).

        NONE : Ignore Atime .

        Note

        If Atime is set to BEST_EFFORT , Mtime must be set to PRESERVE .

        If Atime is set to NONE , Mtime must also be NONE .

      • Mtime (string) --

        Specifies whether to preserve metadata indicating the last time that a file was written to before the PREPARING phase of your task execution. This option is required when you need to run the a task more than once.

        Default Value: PRESERVE

        PRESERVE : Preserve original Mtime (recommended)

        NONE : Ignore Mtime .

        Note

        If Mtime is set to PRESERVE , Atime must be set to BEST_EFFORT .

        If Mtime is set to NONE , Atime must also be set to NONE .

      • Uid (string) --

        Specifies the POSIX user ID (UID) of the file's owner.

        For more information, see Metadata copied by DataSync .

        Default value: INT_VALUE . This preserves the integer value of the ID.

        INT_VALUE : Preserve the integer value of UID and group ID (GID) (recommended).

        NONE : Ignore UID and GID.

      • Gid (string) --

        Specifies the POSIX group ID (GID) of the file's owners.

        For more information, see Metadata copied by DataSync .

        Default value: INT_VALUE . This preserves the integer value of the ID.

        INT_VALUE : Preserve the integer value of user ID (UID) and GID (recommended).

        NONE : Ignore UID and GID.

      • PreserveDeletedFiles (string) --

        Specifies whether files in the destination location that don't exist in the source should be preserved. This option can affect your Amazon S3 storage cost. If your task deletes objects, you might incur minimum storage duration charges for certain storage classes. For detailed information, see Considerations when working with Amazon S3 storage classes in DataSync .

        Default value: PRESERVE

        PRESERVE : Ignore such destination files (recommended).

        REMOVE : Delete destination files that aren’t present in the source.

        Note

        If you set this parameter to REMOVE , you can't set TransferMode to ALL . When you transfer all data, DataSync doesn't scan your destination location and doesn't know what to delete.

      • PreserveDevices (string) --

        Specifies whether DataSync should preserve the metadata of block and character devices in the source location and recreate the files with that device name and metadata on the destination. DataSync copies only the name and metadata of such devices.

        Note

        DataSync can't copy the actual contents of these devices because they're nonterminal and don't return an end-of-file (EOF) marker.

        Default value: NONE

        NONE : Ignore special devices (recommended).

        PRESERVE : Preserve character and block device metadata. This option currently isn't supported for Amazon EFS.

      • PosixPermissions (string) --

        Specifies which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file.

        For more information, see Metadata copied by DataSync .

        Default value: PRESERVE

        PRESERVE : Preserve POSIX-style permissions (recommended).

        NONE : Ignore permissions.

        Note

        DataSync can preserve extant permissions of a source location.

      • BytesPerSecond (integer) --

        Limits the bandwidth used by a DataSync task. For example, if you want DataSync to use a maximum of 1 MB, set this value to 1048576 (=1024*1024 ).

      • TaskQueueing (string) --

        Specifies whether your transfer tasks should be put into a queue during certain scenarios when running multiple tasks . This is ENABLED by default.

      • LogLevel (string) --

        Specifies the type of logs that DataSync publishes to a Amazon CloudWatch Logs log group. To specify the log group, see CloudWatchLogGroupArn .

        If you set LogLevel to OFF , no logs are published. BASIC publishes logs on errors for individual files transferred. TRANSFER publishes logs for every file or object that is transferred and integrity checked.

      • TransferMode (string) --

        Determines whether DataSync transfers only the data and metadata that differ between the source and the destination location or transfers all the content from the source (without comparing what's in the destination).

        CHANGED : DataSync copies only data or metadata that is new or different content from the source location to the destination location.

        ALL : DataSync copies all source location content to the destination (without comparing what's in the destination).

      • SecurityDescriptorCopyFlags (string) --

        Specifies which components of the SMB security descriptor are copied from source to destination objects.

        This value is only used for transfers between SMB and Amazon FSx for Windows File Server locations or between two FSx for Windows File Server locations. For more information, see how DataSync handles metadata .

        Default value: OWNER_DACL

        OWNER_DACL : For each copied object, DataSync copies the following metadata:

        • The object owner.

        • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object. DataSync won't copy NTFS system access control lists (SACLs) with this option.

        OWNER_DACL_SACL : For each copied object, DataSync copies the following metadata:

        • The object owner.

        • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.

        • SACLs, which are used by administrators to log attempts to access a secured object. Copying SACLs requires granting additional permissions to the Windows user that DataSync uses to access your SMB location. For information about choosing a user that ensures sufficient permissions to files, folders, and metadata, see user .

        NONE : None of the SMB security descriptor components are copied. Destination objects are owned by the user that was provided for accessing the destination location. DACLs and SACLs are set based on the destination server’s configuration.

      • ObjectTags (string) --

        Specifies whether object tags are preserved when transferring between object storage systems. If you want your DataSync task to ignore object tags, specify the NONE value.

        Default Value: PRESERVE

    • Excludes (list) --

      A list of filter rules that exclude specific data during your transfer. For more information and examples, see Filtering data transferred by DataSync .

      • (dict) --

        Specifies which files, folders, and objects to include or exclude when transferring files from source to destination.

        • FilterType (string) --

          The type of filter rule to apply. DataSync only supports the SIMPLE_PATTERN rule type.

        • Value (string) --

          A single filter string that consists of the patterns to include or exclude. The patterns are delimited by "|" (that is, a pipe), for example: /folder1|/folder2

    • Includes (list) --

      A list of filter rules that include specific data during your transfer. For more information and examples, see Filtering data transferred by DataSync .

      • (dict) --

        Specifies which files, folders, and objects to include or exclude when transferring files from source to destination.

        • FilterType (string) --

          The type of filter rule to apply. DataSync only supports the SIMPLE_PATTERN rule type.

        • Value (string) --

          A single filter string that consists of the patterns to include or exclude. The patterns are delimited by "|" (that is, a pipe), for example: /folder1|/folder2

    • StartTime (datetime) --

      The time when the task execution started.

    • EstimatedFilesToTransfer (integer) --

      The expected number of files, objects, and directories that DataSync will transfer over the network. This value is calculated during the task execution's PREPARING phase before the TRANSFERRING phase. The calculation is based on comparing the content of the source and destination locations and finding the difference that needs to be transferred.

    • EstimatedBytesToTransfer (integer) --

      The estimated physical number of bytes that will transfer over the network.

    • FilesTransferred (integer) --

      The actual number of files, objects, and directories that DataSync transferred over the network. This value is updated periodically during the task execution's TRANSFERRING phase when something is read from the source and sent over the network.

      If DataSync fails to transfer something, this value can be less than EstimatedFilesToTransfer . In some cases, this value can also be greater than EstimatedFilesToTransfer . This element is implementation-specific for some location types, so don't use it as an exact indication of what transferred or to monitor your task execution.

    • BytesWritten (integer) --

      The number of logical bytes written to the destination location.

    • BytesTransferred (integer) --

      The total number of bytes that are involved in the transfer. For the number of bytes sent over the network, see BytesCompressed .

    • Result (dict) --

      The result of the task execution.

      • PrepareDuration (integer) --

        The total time in milliseconds that DataSync spent in the PREPARING phase.

      • PrepareStatus (string) --

        The status of the PREPARING phase.

      • TotalDuration (integer) --

        The total time in milliseconds that DataSync took to transfer the file from the source to the destination location.

      • TransferDuration (integer) --

        The total time in milliseconds that DataSync spent in the TRANSFERRING phase.

      • TransferStatus (string) --

        The status of the TRANSFERRING phase.

      • VerifyDuration (integer) --

        The total time in milliseconds that DataSync spent in the VERIFYING phase.

      • VerifyStatus (string) --

        The status of the VERIFYING phase.

      • ErrorCode (string) --

        Errors that DataSync encountered during execution of the task. You can use this error code to help troubleshoot issues.

      • ErrorDetail (string) --

        Detailed description of an error that was encountered during the task execution. You can use this information to help troubleshoot issues.

    • BytesCompressed (integer) --

      The physical number of bytes transferred over the network after compression was applied. In most cases, this number is less than BytesTransferred unless the data isn't compressible.

    • TaskReportConfig (dict) --

      The configuration of your task report, which provides detailed information about for your DataSync transfer.

      • Destination (dict) --

        Specifies the Amazon S3 bucket where DataSync uploads your task report. For more information, see Task reports .

        • S3 (dict) --

          Specifies the Amazon S3 bucket where DataSync uploads your task report.

          • Subdirectory (string) --

            Specifies a bucket prefix for your report.

          • S3BucketArn (string) --

            Specifies the ARN of the S3 bucket where DataSync uploads your report.

          • BucketAccessRoleArn (string) --

            Specifies the Amazon Resource Name (ARN) of the IAM policy that allows DataSync to upload a task report to your S3 bucket. For more information, see Allowing DataSync to upload a task report to an Amazon S3 bucket .

      • OutputType (string) --

        Specifies the type of task report that you want:

        • SUMMARY_ONLY : Provides necessary details about your task, including the number of files, objects, and directories transferred and transfer duration.

        • STANDARD : Provides complete details about your task, including a full list of files, objects, and directories that were transferred, skipped, verified, and more.

      • ReportLevel (string) --

        Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't.

        • ERRORS_ONLY : A report shows what DataSync was unable to transfer, skip, verify, and delete.

        • SUCCESSES_AND_ERRORS : A report shows what DataSync was able and unable to transfer, skip, verify, and delete.

      • ObjectVersionIds (string) --

        Specifies whether your task report includes the new version of each object transferred into an S3 bucket. This only applies if you enable versioning on your bucket . Keep in mind that setting this to INCLUDE can increase the duration of your task execution.

      • Overrides (dict) --

        Customizes the reporting level for aspects of your task report. For example, your report might generally only include errors, but you could specify that you want a list of successes and errors just for the files that DataSync attempted to delete in your destination location.

        • Transferred (dict) --

          Specifies the level of reporting for the files, objects, and directories that DataSync attempted to transfer.

          • ReportLevel (string) --

            Specifies whether your task report includes errors only or successes and errors.

            For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY ). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS ).

        • Verified (dict) --

          Specifies the level of reporting for the files, objects, and directories that DataSync attempted to verify at the end of your transfer. This only applies if you configure your task to verify data during and after the transfer (which DataSync does by default).

          • ReportLevel (string) --

            Specifies whether your task report includes errors only or successes and errors.

            For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY ). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS ).

        • Deleted (dict) --

          Specifies the level of reporting for the files, objects, and directories that DataSync attempted to delete in your destination location. This only applies if you configure your task to delete data in the destination that isn't in the source.

          • ReportLevel (string) --

            Specifies whether your task report includes errors only or successes and errors.

            For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY ). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS ).

        • Skipped (dict) --

          Specifies the level of reporting for the files, objects, and directories that DataSync attempted to skip during your transfer.

          • ReportLevel (string) --

            Specifies whether your task report includes errors only or successes and errors.

            For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY ). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS ).

    • FilesDeleted (integer) --

      The number of files, objects, and directories that DataSync deleted in your destination location. If you don't configure your task to delete data in the destination that isn't in the source, the value is always 0 .

    • FilesSkipped (integer) --

      The number of files, objects, and directories that DataSync skipped during your transfer.

    • FilesVerified (integer) --

      The number of files, objects, and directories that DataSync verified during your transfer.

    • ReportResult (dict) --

      Indicates whether DataSync generated a complete task report for your transfer.

      • Status (string) --

        Indicates whether DataSync is still working on your report, created a report, or can't create a complete report.

      • ErrorCode (string) --

        Indicates the code associated with the error if DataSync can't create a complete report.

      • ErrorDetail (string) --

        Provides details about issues creating a report.

    • EstimatedFilesToDelete (integer) --

      The expected number of files, objects, and directories that DataSync will delete in your destination location. If you don't configure your task to delete data in the destination that isn't in the source, the value is always 0 .

StartTaskExecution (updated) Link ¶
Changes (request)
{'TaskReportConfig': {'Destination': {'S3': {'BucketAccessRoleArn': 'string',
                                             'S3BucketArn': 'string',
                                             'Subdirectory': 'string'}},
                      'ObjectVersionIds': 'INCLUDE | NONE',
                      'OutputType': 'SUMMARY_ONLY | STANDARD',
                      'Overrides': {'Deleted': {'ReportLevel': 'ERRORS_ONLY | '
                                                               'SUCCESSES_AND_ERRORS'},
                                    'Skipped': {'ReportLevel': 'ERRORS_ONLY | '
                                                               'SUCCESSES_AND_ERRORS'},
                                    'Transferred': {'ReportLevel': 'ERRORS_ONLY '
                                                                   '| '
                                                                   'SUCCESSES_AND_ERRORS'},
                                    'Verified': {'ReportLevel': 'ERRORS_ONLY | '
                                                                'SUCCESSES_AND_ERRORS'}},
                      'ReportLevel': 'ERRORS_ONLY | SUCCESSES_AND_ERRORS'}}

Starts an DataSync transfer task. For each task, you can only run one task execution at a time.

There are several phases to a task execution. For more information, see Task execution statuses .

Warning

If you're planning to transfer data to or from an Amazon S3 location, review how DataSync can affect your S3 request charges and the DataSync pricing page before you begin.

See also: AWS API Documentation

Request Syntax

client.start_task_execution(
    TaskArn='string',
    OverrideOptions={
        'VerifyMode': 'POINT_IN_TIME_CONSISTENT'|'ONLY_FILES_TRANSFERRED'|'NONE',
        'OverwriteMode': 'ALWAYS'|'NEVER',
        'Atime': 'NONE'|'BEST_EFFORT',
        'Mtime': 'NONE'|'PRESERVE',
        'Uid': 'NONE'|'INT_VALUE'|'NAME'|'BOTH',
        'Gid': 'NONE'|'INT_VALUE'|'NAME'|'BOTH',
        'PreserveDeletedFiles': 'PRESERVE'|'REMOVE',
        'PreserveDevices': 'NONE'|'PRESERVE',
        'PosixPermissions': 'NONE'|'PRESERVE',
        'BytesPerSecond': 123,
        'TaskQueueing': 'ENABLED'|'DISABLED',
        'LogLevel': 'OFF'|'BASIC'|'TRANSFER',
        'TransferMode': 'CHANGED'|'ALL',
        'SecurityDescriptorCopyFlags': 'NONE'|'OWNER_DACL'|'OWNER_DACL_SACL',
        'ObjectTags': 'PRESERVE'|'NONE'
    },
    Includes=[
        {
            'FilterType': 'SIMPLE_PATTERN',
            'Value': 'string'
        },
    ],
    Excludes=[
        {
            'FilterType': 'SIMPLE_PATTERN',
            'Value': 'string'
        },
    ],
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    TaskReportConfig={
        'Destination': {
            'S3': {
                'Subdirectory': 'string',
                'S3BucketArn': 'string',
                'BucketAccessRoleArn': 'string'
            }
        },
        'OutputType': 'SUMMARY_ONLY'|'STANDARD',
        'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS',
        'ObjectVersionIds': 'INCLUDE'|'NONE',
        'Overrides': {
            'Transferred': {
                'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS'
            },
            'Verified': {
                'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS'
            },
            'Deleted': {
                'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS'
            },
            'Skipped': {
                'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS'
            }
        }
    }
)
type TaskArn

string

param TaskArn

[REQUIRED]

Specifies the Amazon Resource Name (ARN) of the task that you want to start.

type OverrideOptions

dict

param OverrideOptions

Indicates how your transfer task is configured. These options include how DataSync handles files, objects, and their associated metadata during your transfer. You also can specify how to verify data integrity, set bandwidth limits for your task, among other options.

Each option has a default value. Unless you need to, you don't have to configure any of these options before starting your task.

  • VerifyMode (string) --

    Specifies how and when DataSync checks the integrity of your data during a transfer.

    Default value: POINT_IN_TIME_CONSISTENT

    ONLY_FILES_TRANSFERRED (recommended): DataSync calculates the checksum of transferred files and metadata at the source location. At the end of the transfer, DataSync then compares this checksum to the checksum calculated on those files at the destination.

    We recommend this option when transferring to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. For more information, see Storage class considerations with Amazon S3 locations .

    POINT_IN_TIME_CONSISTENT : At the end of the transfer, DataSync scans the entire source and destination to verify that both locations are fully synchronized.

    You can't use this option when transferring to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. For more information, see Storage class considerations with Amazon S3 locations .

    NONE : DataSync doesn't run additional verification at the end of the transfer. All data transmissions are still integrity-checked with checksum verification during the transfer.

  • OverwriteMode (string) --

    Specifies whether data at the destination location should be overwritten or preserved. If set to NEVER , a destination file for example will not be replaced by a source file (even if the destination file differs from the source file). If you modify files in the destination and you sync the files, you can use this value to protect against overwriting those changes.

    Some storage classes have specific behaviors that can affect your Amazon S3 storage cost. For detailed information, see Considerations when working with Amazon S3 storage classes in DataSync .

  • Atime (string) --

    Specifies whether to preserve metadata indicating the last time a file was read or written to. If you set Atime to BEST_EFFORT , DataSync attempts to preserve the original Atime attribute on all source files (that is, the version before the PREPARING phase of the task execution).

    Note

    The behavior of Atime isn't fully standard across platforms, so DataSync can only do this on a best-effort basis.

    Default value: BEST_EFFORT

    BEST_EFFORT : Attempt to preserve the per-file Atime value (recommended).

    NONE : Ignore Atime .

    Note

    If Atime is set to BEST_EFFORT , Mtime must be set to PRESERVE .

    If Atime is set to NONE , Mtime must also be NONE .

  • Mtime (string) --

    Specifies whether to preserve metadata indicating the last time that a file was written to before the PREPARING phase of your task execution. This option is required when you need to run the a task more than once.

    Default Value: PRESERVE

    PRESERVE : Preserve original Mtime (recommended)

    NONE : Ignore Mtime .

    Note

    If Mtime is set to PRESERVE , Atime must be set to BEST_EFFORT .

    If Mtime is set to NONE , Atime must also be set to NONE .

  • Uid (string) --

    Specifies the POSIX user ID (UID) of the file's owner.

    For more information, see Metadata copied by DataSync .

    Default value: INT_VALUE . This preserves the integer value of the ID.

    INT_VALUE : Preserve the integer value of UID and group ID (GID) (recommended).

    NONE : Ignore UID and GID.

  • Gid (string) --

    Specifies the POSIX group ID (GID) of the file's owners.

    For more information, see Metadata copied by DataSync .

    Default value: INT_VALUE . This preserves the integer value of the ID.

    INT_VALUE : Preserve the integer value of user ID (UID) and GID (recommended).

    NONE : Ignore UID and GID.

  • PreserveDeletedFiles (string) --

    Specifies whether files in the destination location that don't exist in the source should be preserved. This option can affect your Amazon S3 storage cost. If your task deletes objects, you might incur minimum storage duration charges for certain storage classes. For detailed information, see Considerations when working with Amazon S3 storage classes in DataSync .

    Default value: PRESERVE

    PRESERVE : Ignore such destination files (recommended).

    REMOVE : Delete destination files that aren’t present in the source.

    Note

    If you set this parameter to REMOVE , you can't set TransferMode to ALL . When you transfer all data, DataSync doesn't scan your destination location and doesn't know what to delete.

  • PreserveDevices (string) --

    Specifies whether DataSync should preserve the metadata of block and character devices in the source location and recreate the files with that device name and metadata on the destination. DataSync copies only the name and metadata of such devices.

    Note

    DataSync can't copy the actual contents of these devices because they're nonterminal and don't return an end-of-file (EOF) marker.

    Default value: NONE

    NONE : Ignore special devices (recommended).

    PRESERVE : Preserve character and block device metadata. This option currently isn't supported for Amazon EFS.

  • PosixPermissions (string) --

    Specifies which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file.

    For more information, see Metadata copied by DataSync .

    Default value: PRESERVE

    PRESERVE : Preserve POSIX-style permissions (recommended).

    NONE : Ignore permissions.

    Note

    DataSync can preserve extant permissions of a source location.

  • BytesPerSecond (integer) --

    Limits the bandwidth used by a DataSync task. For example, if you want DataSync to use a maximum of 1 MB, set this value to 1048576 (=1024*1024 ).

  • TaskQueueing (string) --

    Specifies whether your transfer tasks should be put into a queue during certain scenarios when running multiple tasks . This is ENABLED by default.

  • LogLevel (string) --

    Specifies the type of logs that DataSync publishes to a Amazon CloudWatch Logs log group. To specify the log group, see CloudWatchLogGroupArn .

    If you set LogLevel to OFF , no logs are published. BASIC publishes logs on errors for individual files transferred. TRANSFER publishes logs for every file or object that is transferred and integrity checked.

  • TransferMode (string) --

    Determines whether DataSync transfers only the data and metadata that differ between the source and the destination location or transfers all the content from the source (without comparing what's in the destination).

    CHANGED : DataSync copies only data or metadata that is new or different content from the source location to the destination location.

    ALL : DataSync copies all source location content to the destination (without comparing what's in the destination).

  • SecurityDescriptorCopyFlags (string) --

    Specifies which components of the SMB security descriptor are copied from source to destination objects.

    This value is only used for transfers between SMB and Amazon FSx for Windows File Server locations or between two FSx for Windows File Server locations. For more information, see how DataSync handles metadata .

    Default value: OWNER_DACL

    OWNER_DACL : For each copied object, DataSync copies the following metadata:

    • The object owner.

    • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object. DataSync won't copy NTFS system access control lists (SACLs) with this option.

    OWNER_DACL_SACL : For each copied object, DataSync copies the following metadata:

    • The object owner.

    • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.

    • SACLs, which are used by administrators to log attempts to access a secured object. Copying SACLs requires granting additional permissions to the Windows user that DataSync uses to access your SMB location. For information about choosing a user that ensures sufficient permissions to files, folders, and metadata, see user .

    NONE : None of the SMB security descriptor components are copied. Destination objects are owned by the user that was provided for accessing the destination location. DACLs and SACLs are set based on the destination server’s configuration.

  • ObjectTags (string) --

    Specifies whether object tags are preserved when transferring between object storage systems. If you want your DataSync task to ignore object tags, specify the NONE value.

    Default Value: PRESERVE

type Includes

list

param Includes

Specifies a list of filter rules that determines which files to include when running a task. The pattern should contain a single filter string that consists of the patterns to include. The patterns are delimited by "|" (that is, a pipe), for example, "/folder1|/folder2" .

  • (dict) --

    Specifies which files, folders, and objects to include or exclude when transferring files from source to destination.

    • FilterType (string) --

      The type of filter rule to apply. DataSync only supports the SIMPLE_PATTERN rule type.

    • Value (string) --

      A single filter string that consists of the patterns to include or exclude. The patterns are delimited by "|" (that is, a pipe), for example: /folder1|/folder2

type Excludes

list

param Excludes

Specifies a list of filter rules that determines which files to exclude from a task. The list contains a single filter string that consists of the patterns to exclude. The patterns are delimited by "|" (that is, a pipe), for example, "/folder1|/folder2" .

  • (dict) --

    Specifies which files, folders, and objects to include or exclude when transferring files from source to destination.

    • FilterType (string) --

      The type of filter rule to apply. DataSync only supports the SIMPLE_PATTERN rule type.

    • Value (string) --

      A single filter string that consists of the patterns to include or exclude. The patterns are delimited by "|" (that is, a pipe), for example: /folder1|/folder2

type Tags

list

param Tags

Specifies the tags that you want to apply to the Amazon Resource Name (ARN) representing the task execution.

Tags are key-value pairs that help you manage, filter, and search for your DataSync resources.

  • (dict) --

    A key-value pair representing a single tag that's been applied to an Amazon Web Services resource.

    • Key (string) -- [REQUIRED]

      The key for an Amazon Web Services resource tag.

    • Value (string) --

      The value for an Amazon Web Services resource tag.

type TaskReportConfig

dict

param TaskReportConfig

Specifies how you want to configure a task report, which provides detailed information about for your DataSync transfer.

  • Destination (dict) --

    Specifies the Amazon S3 bucket where DataSync uploads your task report. For more information, see Task reports .

    • S3 (dict) --

      Specifies the Amazon S3 bucket where DataSync uploads your task report.

      • Subdirectory (string) --

        Specifies a bucket prefix for your report.

      • S3BucketArn (string) -- [REQUIRED]

        Specifies the ARN of the S3 bucket where DataSync uploads your report.

      • BucketAccessRoleArn (string) -- [REQUIRED]

        Specifies the Amazon Resource Name (ARN) of the IAM policy that allows DataSync to upload a task report to your S3 bucket. For more information, see Allowing DataSync to upload a task report to an Amazon S3 bucket .

  • OutputType (string) --

    Specifies the type of task report that you want:

    • SUMMARY_ONLY : Provides necessary details about your task, including the number of files, objects, and directories transferred and transfer duration.

    • STANDARD : Provides complete details about your task, including a full list of files, objects, and directories that were transferred, skipped, verified, and more.

  • ReportLevel (string) --

    Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't.

    • ERRORS_ONLY : A report shows what DataSync was unable to transfer, skip, verify, and delete.

    • SUCCESSES_AND_ERRORS : A report shows what DataSync was able and unable to transfer, skip, verify, and delete.

  • ObjectVersionIds (string) --

    Specifies whether your task report includes the new version of each object transferred into an S3 bucket. This only applies if you enable versioning on your bucket . Keep in mind that setting this to INCLUDE can increase the duration of your task execution.

  • Overrides (dict) --

    Customizes the reporting level for aspects of your task report. For example, your report might generally only include errors, but you could specify that you want a list of successes and errors just for the files that DataSync attempted to delete in your destination location.

    • Transferred (dict) --

      Specifies the level of reporting for the files, objects, and directories that DataSync attempted to transfer.

      • ReportLevel (string) --

        Specifies whether your task report includes errors only or successes and errors.

        For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY ). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS ).

    • Verified (dict) --

      Specifies the level of reporting for the files, objects, and directories that DataSync attempted to verify at the end of your transfer. This only applies if you configure your task to verify data during and after the transfer (which DataSync does by default).

      • ReportLevel (string) --

        Specifies whether your task report includes errors only or successes and errors.

        For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY ). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS ).

    • Deleted (dict) --

      Specifies the level of reporting for the files, objects, and directories that DataSync attempted to delete in your destination location. This only applies if you configure your task to delete data in the destination that isn't in the source.

      • ReportLevel (string) --

        Specifies whether your task report includes errors only or successes and errors.

        For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY ). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS ).

    • Skipped (dict) --

      Specifies the level of reporting for the files, objects, and directories that DataSync attempted to skip during your transfer.

      • ReportLevel (string) --

        Specifies whether your task report includes errors only or successes and errors.

        For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY ). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS ).

rtype

dict

returns

Response Syntax

{
    'TaskExecutionArn': 'string'
}

Response Structure

  • (dict) --

    StartTaskExecutionResponse

    • TaskExecutionArn (string) --

      The ARN of the running task execution.

UpdateTask (updated) Link ¶
Changes (request)
{'TaskReportConfig': {'Destination': {'S3': {'BucketAccessRoleArn': 'string',
                                             'S3BucketArn': 'string',
                                             'Subdirectory': 'string'}},
                      'ObjectVersionIds': 'INCLUDE | NONE',
                      'OutputType': 'SUMMARY_ONLY | STANDARD',
                      'Overrides': {'Deleted': {'ReportLevel': 'ERRORS_ONLY | '
                                                               'SUCCESSES_AND_ERRORS'},
                                    'Skipped': {'ReportLevel': 'ERRORS_ONLY | '
                                                               'SUCCESSES_AND_ERRORS'},
                                    'Transferred': {'ReportLevel': 'ERRORS_ONLY '
                                                                   '| '
                                                                   'SUCCESSES_AND_ERRORS'},
                                    'Verified': {'ReportLevel': 'ERRORS_ONLY | '
                                                                'SUCCESSES_AND_ERRORS'}},
                      'ReportLevel': 'ERRORS_ONLY | SUCCESSES_AND_ERRORS'}}

Updates the configuration of a DataSync transfer task.

See also: AWS API Documentation

Request Syntax

client.update_task(
    TaskArn='string',
    Options={
        'VerifyMode': 'POINT_IN_TIME_CONSISTENT'|'ONLY_FILES_TRANSFERRED'|'NONE',
        'OverwriteMode': 'ALWAYS'|'NEVER',
        'Atime': 'NONE'|'BEST_EFFORT',
        'Mtime': 'NONE'|'PRESERVE',
        'Uid': 'NONE'|'INT_VALUE'|'NAME'|'BOTH',
        'Gid': 'NONE'|'INT_VALUE'|'NAME'|'BOTH',
        'PreserveDeletedFiles': 'PRESERVE'|'REMOVE',
        'PreserveDevices': 'NONE'|'PRESERVE',
        'PosixPermissions': 'NONE'|'PRESERVE',
        'BytesPerSecond': 123,
        'TaskQueueing': 'ENABLED'|'DISABLED',
        'LogLevel': 'OFF'|'BASIC'|'TRANSFER',
        'TransferMode': 'CHANGED'|'ALL',
        'SecurityDescriptorCopyFlags': 'NONE'|'OWNER_DACL'|'OWNER_DACL_SACL',
        'ObjectTags': 'PRESERVE'|'NONE'
    },
    Excludes=[
        {
            'FilterType': 'SIMPLE_PATTERN',
            'Value': 'string'
        },
    ],
    Schedule={
        'ScheduleExpression': 'string'
    },
    Name='string',
    CloudWatchLogGroupArn='string',
    Includes=[
        {
            'FilterType': 'SIMPLE_PATTERN',
            'Value': 'string'
        },
    ],
    TaskReportConfig={
        'Destination': {
            'S3': {
                'Subdirectory': 'string',
                'S3BucketArn': 'string',
                'BucketAccessRoleArn': 'string'
            }
        },
        'OutputType': 'SUMMARY_ONLY'|'STANDARD',
        'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS',
        'ObjectVersionIds': 'INCLUDE'|'NONE',
        'Overrides': {
            'Transferred': {
                'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS'
            },
            'Verified': {
                'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS'
            },
            'Deleted': {
                'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS'
            },
            'Skipped': {
                'ReportLevel': 'ERRORS_ONLY'|'SUCCESSES_AND_ERRORS'
            }
        }
    }
)
type TaskArn

string

param TaskArn

[REQUIRED]

The Amazon Resource Name (ARN) of the resource name of the task to update.

type Options

dict

param Options

Indicates how your transfer task is configured. These options include how DataSync handles files, objects, and their associated metadata during your transfer. You also can specify how to verify data integrity, set bandwidth limits for your task, among other options.

Each option has a default value. Unless you need to, you don't have to configure any of these options before starting your task.

  • VerifyMode (string) --

    Specifies how and when DataSync checks the integrity of your data during a transfer.

    Default value: POINT_IN_TIME_CONSISTENT

    ONLY_FILES_TRANSFERRED (recommended): DataSync calculates the checksum of transferred files and metadata at the source location. At the end of the transfer, DataSync then compares this checksum to the checksum calculated on those files at the destination.

    We recommend this option when transferring to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. For more information, see Storage class considerations with Amazon S3 locations .

    POINT_IN_TIME_CONSISTENT : At the end of the transfer, DataSync scans the entire source and destination to verify that both locations are fully synchronized.

    You can't use this option when transferring to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. For more information, see Storage class considerations with Amazon S3 locations .

    NONE : DataSync doesn't run additional verification at the end of the transfer. All data transmissions are still integrity-checked with checksum verification during the transfer.

  • OverwriteMode (string) --

    Specifies whether data at the destination location should be overwritten or preserved. If set to NEVER , a destination file for example will not be replaced by a source file (even if the destination file differs from the source file). If you modify files in the destination and you sync the files, you can use this value to protect against overwriting those changes.

    Some storage classes have specific behaviors that can affect your Amazon S3 storage cost. For detailed information, see Considerations when working with Amazon S3 storage classes in DataSync .

  • Atime (string) --

    Specifies whether to preserve metadata indicating the last time a file was read or written to. If you set Atime to BEST_EFFORT , DataSync attempts to preserve the original Atime attribute on all source files (that is, the version before the PREPARING phase of the task execution).

    Note

    The behavior of Atime isn't fully standard across platforms, so DataSync can only do this on a best-effort basis.

    Default value: BEST_EFFORT

    BEST_EFFORT : Attempt to preserve the per-file Atime value (recommended).

    NONE : Ignore Atime .

    Note

    If Atime is set to BEST_EFFORT , Mtime must be set to PRESERVE .

    If Atime is set to NONE , Mtime must also be NONE .

  • Mtime (string) --

    Specifies whether to preserve metadata indicating the last time that a file was written to before the PREPARING phase of your task execution. This option is required when you need to run the a task more than once.

    Default Value: PRESERVE

    PRESERVE : Preserve original Mtime (recommended)

    NONE : Ignore Mtime .

    Note

    If Mtime is set to PRESERVE , Atime must be set to BEST_EFFORT .

    If Mtime is set to NONE , Atime must also be set to NONE .

  • Uid (string) --

    Specifies the POSIX user ID (UID) of the file's owner.

    For more information, see Metadata copied by DataSync .

    Default value: INT_VALUE . This preserves the integer value of the ID.

    INT_VALUE : Preserve the integer value of UID and group ID (GID) (recommended).

    NONE : Ignore UID and GID.

  • Gid (string) --

    Specifies the POSIX group ID (GID) of the file's owners.

    For more information, see Metadata copied by DataSync .

    Default value: INT_VALUE . This preserves the integer value of the ID.

    INT_VALUE : Preserve the integer value of user ID (UID) and GID (recommended).

    NONE : Ignore UID and GID.

  • PreserveDeletedFiles (string) --

    Specifies whether files in the destination location that don't exist in the source should be preserved. This option can affect your Amazon S3 storage cost. If your task deletes objects, you might incur minimum storage duration charges for certain storage classes. For detailed information, see Considerations when working with Amazon S3 storage classes in DataSync .

    Default value: PRESERVE

    PRESERVE : Ignore such destination files (recommended).

    REMOVE : Delete destination files that aren’t present in the source.

    Note

    If you set this parameter to REMOVE , you can't set TransferMode to ALL . When you transfer all data, DataSync doesn't scan your destination location and doesn't know what to delete.

  • PreserveDevices (string) --

    Specifies whether DataSync should preserve the metadata of block and character devices in the source location and recreate the files with that device name and metadata on the destination. DataSync copies only the name and metadata of such devices.

    Note

    DataSync can't copy the actual contents of these devices because they're nonterminal and don't return an end-of-file (EOF) marker.

    Default value: NONE

    NONE : Ignore special devices (recommended).

    PRESERVE : Preserve character and block device metadata. This option currently isn't supported for Amazon EFS.

  • PosixPermissions (string) --

    Specifies which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file.

    For more information, see Metadata copied by DataSync .

    Default value: PRESERVE

    PRESERVE : Preserve POSIX-style permissions (recommended).

    NONE : Ignore permissions.

    Note

    DataSync can preserve extant permissions of a source location.

  • BytesPerSecond (integer) --

    Limits the bandwidth used by a DataSync task. For example, if you want DataSync to use a maximum of 1 MB, set this value to 1048576 (=1024*1024 ).

  • TaskQueueing (string) --

    Specifies whether your transfer tasks should be put into a queue during certain scenarios when running multiple tasks . This is ENABLED by default.

  • LogLevel (string) --

    Specifies the type of logs that DataSync publishes to a Amazon CloudWatch Logs log group. To specify the log group, see CloudWatchLogGroupArn .

    If you set LogLevel to OFF , no logs are published. BASIC publishes logs on errors for individual files transferred. TRANSFER publishes logs for every file or object that is transferred and integrity checked.

  • TransferMode (string) --

    Determines whether DataSync transfers only the data and metadata that differ between the source and the destination location or transfers all the content from the source (without comparing what's in the destination).

    CHANGED : DataSync copies only data or metadata that is new or different content from the source location to the destination location.

    ALL : DataSync copies all source location content to the destination (without comparing what's in the destination).

  • SecurityDescriptorCopyFlags (string) --

    Specifies which components of the SMB security descriptor are copied from source to destination objects.

    This value is only used for transfers between SMB and Amazon FSx for Windows File Server locations or between two FSx for Windows File Server locations. For more information, see how DataSync handles metadata .

    Default value: OWNER_DACL

    OWNER_DACL : For each copied object, DataSync copies the following metadata:

    • The object owner.

    • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object. DataSync won't copy NTFS system access control lists (SACLs) with this option.

    OWNER_DACL_SACL : For each copied object, DataSync copies the following metadata:

    • The object owner.

    • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.

    • SACLs, which are used by administrators to log attempts to access a secured object. Copying SACLs requires granting additional permissions to the Windows user that DataSync uses to access your SMB location. For information about choosing a user that ensures sufficient permissions to files, folders, and metadata, see user .

    NONE : None of the SMB security descriptor components are copied. Destination objects are owned by the user that was provided for accessing the destination location. DACLs and SACLs are set based on the destination server’s configuration.

  • ObjectTags (string) --

    Specifies whether object tags are preserved when transferring between object storage systems. If you want your DataSync task to ignore object tags, specify the NONE value.

    Default Value: PRESERVE

type Excludes

list

param Excludes

Specifies a list of filter rules that exclude specific data during your transfer. For more information and examples, see Filtering data transferred by DataSync .

  • (dict) --

    Specifies which files, folders, and objects to include or exclude when transferring files from source to destination.

    • FilterType (string) --

      The type of filter rule to apply. DataSync only supports the SIMPLE_PATTERN rule type.

    • Value (string) --

      A single filter string that consists of the patterns to include or exclude. The patterns are delimited by "|" (that is, a pipe), for example: /folder1|/folder2

type Schedule

dict

param Schedule

Specifies a schedule used to periodically transfer files from a source to a destination location. You can configure your task to execute hourly, daily, weekly or on specific days of the week. You control when in the day or hour you want the task to execute. The time you specify is UTC time. For more information, see Scheduling your task .

  • ScheduleExpression (string) -- [REQUIRED]

    A cron expression that specifies when DataSync initiates a scheduled transfer from a source to a destination location.

type Name

string

param Name

The name of the task to update.

type CloudWatchLogGroupArn

string

param CloudWatchLogGroupArn

The Amazon Resource Name (ARN) of the resource name of the Amazon CloudWatch log group.

type Includes

list

param Includes

Specifies a list of filter rules that include specific data during your transfer. For more information and examples, see Filtering data transferred by DataSync .

  • (dict) --

    Specifies which files, folders, and objects to include or exclude when transferring files from source to destination.

    • FilterType (string) --

      The type of filter rule to apply. DataSync only supports the SIMPLE_PATTERN rule type.

    • Value (string) --

      A single filter string that consists of the patterns to include or exclude. The patterns are delimited by "|" (that is, a pipe), for example: /folder1|/folder2

type TaskReportConfig

dict

param TaskReportConfig

Specifies how you want to configure a task report, which provides detailed information about for your DataSync transfer.

  • Destination (dict) --

    Specifies the Amazon S3 bucket where DataSync uploads your task report. For more information, see Task reports .

    • S3 (dict) --

      Specifies the Amazon S3 bucket where DataSync uploads your task report.

      • Subdirectory (string) --

        Specifies a bucket prefix for your report.

      • S3BucketArn (string) -- [REQUIRED]

        Specifies the ARN of the S3 bucket where DataSync uploads your report.

      • BucketAccessRoleArn (string) -- [REQUIRED]

        Specifies the Amazon Resource Name (ARN) of the IAM policy that allows DataSync to upload a task report to your S3 bucket. For more information, see Allowing DataSync to upload a task report to an Amazon S3 bucket .

  • OutputType (string) --

    Specifies the type of task report that you want:

    • SUMMARY_ONLY : Provides necessary details about your task, including the number of files, objects, and directories transferred and transfer duration.

    • STANDARD : Provides complete details about your task, including a full list of files, objects, and directories that were transferred, skipped, verified, and more.

  • ReportLevel (string) --

    Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't.

    • ERRORS_ONLY : A report shows what DataSync was unable to transfer, skip, verify, and delete.

    • SUCCESSES_AND_ERRORS : A report shows what DataSync was able and unable to transfer, skip, verify, and delete.

  • ObjectVersionIds (string) --

    Specifies whether your task report includes the new version of each object transferred into an S3 bucket. This only applies if you enable versioning on your bucket . Keep in mind that setting this to INCLUDE can increase the duration of your task execution.

  • Overrides (dict) --

    Customizes the reporting level for aspects of your task report. For example, your report might generally only include errors, but you could specify that you want a list of successes and errors just for the files that DataSync attempted to delete in your destination location.

    • Transferred (dict) --

      Specifies the level of reporting for the files, objects, and directories that DataSync attempted to transfer.

      • ReportLevel (string) --

        Specifies whether your task report includes errors only or successes and errors.

        For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY ). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS ).

    • Verified (dict) --

      Specifies the level of reporting for the files, objects, and directories that DataSync attempted to verify at the end of your transfer. This only applies if you configure your task to verify data during and after the transfer (which DataSync does by default).

      • ReportLevel (string) --

        Specifies whether your task report includes errors only or successes and errors.

        For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY ). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS ).

    • Deleted (dict) --

      Specifies the level of reporting for the files, objects, and directories that DataSync attempted to delete in your destination location. This only applies if you configure your task to delete data in the destination that isn't in the source.

      • ReportLevel (string) --

        Specifies whether your task report includes errors only or successes and errors.

        For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY ). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS ).

    • Skipped (dict) --

      Specifies the level of reporting for the files, objects, and directories that DataSync attempted to skip during your transfer.

      • ReportLevel (string) --

        Specifies whether your task report includes errors only or successes and errors.

        For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY ). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS ).

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --