AWS DataSync

2021/08/25 - AWS DataSync - 4 updated api methods

Changes  Added include filters to CreateTask and UpdateTask, and added exclude filters to StartTaskExecution, giving customers more granular control over how DataSync transfers files, folders, and objects.

CreateTask (updated) Link ¶
Changes (request)
{'Includes': [{'FilterType': 'SIMPLE_PATTERN', 'Value': 'string'}]}

Creates a task.

A task includes a source location and a destination location, and a configuration that specifies how data is transferred. A task always transfers data from the source location to the destination location. The configuration specifies options such as task scheduling, bandwidth limits, etc. A task is the complete definition of a data transfer.

When you create a task that transfers data between Amazon Web Services services in different Amazon Web Services Regions, one of the two locations that you specify must reside in the Region where DataSync is being used. The other location must be specified in a different Region.

You can transfer data between commercial Amazon Web Services Regions except for China, or between Amazon Web Services GovCloud (US) Regions.

Warning

When you use DataSync to copy files or objects between Amazon Web Services Regions, you pay for data transfer between Regions. This is billed as data transfer OUT from your source Region to your destination Region. For more information, see Data Transfer pricing .

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'
    },
    Excludes=[
        {
            'FilterType': 'SIMPLE_PATTERN',
            'Value': 'string'
        },
    ],
    Schedule={
        'ScheduleExpression': 'string'
    },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    Includes=[
        {
            'FilterType': 'SIMPLE_PATTERN',
            'Value': 'string'
        },
    ]
)
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

The set of configuration options that control the behavior of a single execution of the task that occurs when you call StartTaskExecution . You can configure these options to preserve metadata such as user ID (UID) and group ID (GID), file permissions, data integrity verification, and so on.

For each individual task execution, you can override these options by specifying the OverrideOptions before starting the task execution. For more information, see the StartTaskExecution operation.

  • VerifyMode (string) --

    A value that determines whether a data integrity verification should be performed at the end of a task execution after all data and metadata have been transferred. For more information, see Configure task settings .

    Default value: POINT_IN_TIME_CONSISTENT.

    ONLY_FILES_TRANSFERRED (recommended): Perform verification only on files that were transferred.

    POINT_IN_TIME_CONSISTENT: Scan the entire source and entire destination at the end of the transfer to verify that source and destination are fully synchronized. This option isn't supported when transferring to S3 Glacier or S3 Glacier Deep Archive storage classes.

    NONE: No additional verification is done at the end of the transfer, but all data transmissions are integrity-checked with checksum verification during the transfer.

  • OverwriteMode (string) --

    A value that determines whether files at the destination should be overwritten or preserved when copying files. If set to NEVER a destination file 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 S3 storage cost. For detailed information, see Considerations when working with Amazon S3 storage classes in DataSync in the DataSync User Guide .

  • Atime (string) --

    A file metadata value that shows the last time a file was accessed (that is, when the 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). However, Atime 's behavior is not 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) --

    A value that indicates the last time that a file was modified (that is, a file was written to) before the PREPARING phase. This option is required for cases when you need to run the same task more than one time.

    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) --

    The POSIX user ID (UID) of the file's owner. This option should only be set for NFS, EFS, and S3 locations. To learn more about what metadata is copied by DataSync, 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) --

    The POSIX group ID (GID) of the file's owners. This option should only be set for NFS, EFS, and S3 locations. For more information about what metadata is copied by DataSync, 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) --

    A value that specifies whether files in the destination that don't exist in the source file system should be preserved. This option can affect your 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 in the DataSync User Guide .

    Default value: PRESERVE.

    PRESERVE: Ignore such destination files (recommended).

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

  • PreserveDevices (string) --

    A value that determines whether DataSync should preserve the metadata of block and character devices in the source file system, and re-create the files with that device name and metadata on the destination. DataSync does not copy the contents of such devices, only the name and metadata.

    Note

    DataSync can't sync the actual contents of such devices, because they are 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 isn't currently supported for Amazon EFS.

  • PosixPermissions (string) --

    A value that determines which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file. This option should only be set for NFS, EFS, and S3 locations. For more information about what metadata is copied by DataSync, 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) --

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

  • TaskQueueing (string) --

    A value that determines whether tasks should be queued before executing the tasks. If set to ENABLED , the tasks will be queued. The default is ENABLED .

    If you use the same agent to run multiple tasks, you can enable the tasks to run in series. For more information, see Queueing task executions .

  • LogLevel (string) --

    A value that determines the type of logs that DataSync publishes to a log stream in the Amazon CloudWatch log group that you provide. For more information about providing a log group for DataSync, see CloudWatchLogGroupArn . If set to OFF , no logs are published. BASIC publishes logs on errors for individual files transferred, and TRANSFER publishes logs for every file or object that is transferred and integrity checked.

  • TransferMode (string) --

    A value that determines whether DataSync transfers only the data and metadata that differ between the source and the destination location, or whether DataSync transfers all the content from the source, without comparing to the destination location.

    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 to existing content on the destination.

  • SecurityDescriptorCopyFlags (string) --

    A value that determines 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 Amazon FSx for Windows File Server locations. For more information about how DataSync handles metadata, see How DataSync Handles Metadata and Special Files .

    Default value: OWNER_DACL.

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

    • Object owner.

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

    When choosing this option, DataSync does NOT copy the NTFS system access control lists (SACLs), which are used by administrators to log attempts to access a secured object.

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

    • Object owner.

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

    • NTFS system access control lists (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.

type Excludes

list

param Excludes

A list of filter rules that determines which files to exclude from a task. The list should contain 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 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

The key-value pair that represents the tag that you want to add to the resource. The value can be an empty string.

  • (dict) --

    Represents a single entry in a list of AWS resource tags. TagListEntry returns an array that contains a list of tasks when the ListTagsForResource operation is called.

    • 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

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

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)
{'Includes': [{'FilterType': 'SIMPLE_PATTERN', 'Value': 'string'}]}

Returns metadata about a task.

See also: AWS API Documentation

Request Syntax

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

string

param TaskArn

[REQUIRED]

The Amazon Resource Name (ARN) of the task to describe.

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'
    },
    'Excludes': [
        {
            'FilterType': 'SIMPLE_PATTERN',
            'Value': 'string'
        },
    ],
    'Schedule': {
        'ScheduleExpression': 'string'
    },
    'ErrorCode': 'string',
    'ErrorDetail': 'string',
    'CreationTime': datetime(2015, 1, 1),
    'Includes': [
        {
            'FilterType': 'SIMPLE_PATTERN',
            'Value': 'string'
        },
    ]
}

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 syncing 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 Name (ARN) of the source ENIs (Elastic Network Interface) that was created for your subnet.

      • (string) --

    • DestinationNetworkInterfaceArns (list) --

      The Amazon Resource Name (ARN) of the destination ENIs (Elastic Network Interface) that was created for your subnet.

      • (string) --

    • Options (dict) --

      The set of configuration options that control the behavior of a single execution of the task that occurs when you call StartTaskExecution . You can configure these options to preserve metadata such as user ID (UID) and group (GID), file permissions, data integrity verification, and so on.

      For each individual task execution, you can override these options by specifying the overriding OverrideOptions value to StartTaskExecution operation.

      • VerifyMode (string) --

        A value that determines whether a data integrity verification should be performed at the end of a task execution after all data and metadata have been transferred. For more information, see Configure task settings .

        Default value: POINT_IN_TIME_CONSISTENT.

        ONLY_FILES_TRANSFERRED (recommended): Perform verification only on files that were transferred.

        POINT_IN_TIME_CONSISTENT: Scan the entire source and entire destination at the end of the transfer to verify that source and destination are fully synchronized. This option isn't supported when transferring to S3 Glacier or S3 Glacier Deep Archive storage classes.

        NONE: No additional verification is done at the end of the transfer, but all data transmissions are integrity-checked with checksum verification during the transfer.

      • OverwriteMode (string) --

        A value that determines whether files at the destination should be overwritten or preserved when copying files. If set to NEVER a destination file 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 S3 storage cost. For detailed information, see Considerations when working with Amazon S3 storage classes in DataSync in the DataSync User Guide .

      • Atime (string) --

        A file metadata value that shows the last time a file was accessed (that is, when the 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). However, Atime 's behavior is not 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) --

        A value that indicates the last time that a file was modified (that is, a file was written to) before the PREPARING phase. This option is required for cases when you need to run the same task more than one time.

        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) --

        The POSIX user ID (UID) of the file's owner. This option should only be set for NFS, EFS, and S3 locations. To learn more about what metadata is copied by DataSync, 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) --

        The POSIX group ID (GID) of the file's owners. This option should only be set for NFS, EFS, and S3 locations. For more information about what metadata is copied by DataSync, 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) --

        A value that specifies whether files in the destination that don't exist in the source file system should be preserved. This option can affect your 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 in the DataSync User Guide .

        Default value: PRESERVE.

        PRESERVE: Ignore such destination files (recommended).

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

      • PreserveDevices (string) --

        A value that determines whether DataSync should preserve the metadata of block and character devices in the source file system, and re-create the files with that device name and metadata on the destination. DataSync does not copy the contents of such devices, only the name and metadata.

        Note

        DataSync can't sync the actual contents of such devices, because they are 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 isn't currently supported for Amazon EFS.

      • PosixPermissions (string) --

        A value that determines which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file. This option should only be set for NFS, EFS, and S3 locations. For more information about what metadata is copied by DataSync, 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) --

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

      • TaskQueueing (string) --

        A value that determines whether tasks should be queued before executing the tasks. If set to ENABLED , the tasks will be queued. The default is ENABLED .

        If you use the same agent to run multiple tasks, you can enable the tasks to run in series. For more information, see Queueing task executions .

      • LogLevel (string) --

        A value that determines the type of logs that DataSync publishes to a log stream in the Amazon CloudWatch log group that you provide. For more information about providing a log group for DataSync, see CloudWatchLogGroupArn . If set to OFF , no logs are published. BASIC publishes logs on errors for individual files transferred, and TRANSFER publishes logs for every file or object that is transferred and integrity checked.

      • TransferMode (string) --

        A value that determines whether DataSync transfers only the data and metadata that differ between the source and the destination location, or whether DataSync transfers all the content from the source, without comparing to the destination location.

        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 to existing content on the destination.

      • SecurityDescriptorCopyFlags (string) --

        A value that determines 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 Amazon FSx for Windows File Server locations. For more information about how DataSync handles metadata, see How DataSync Handles Metadata and Special Files .

        Default value: OWNER_DACL.

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

        • Object owner.

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

        When choosing this option, DataSync does NOT copy the NTFS system access control lists (SACLs), which are used by administrators to log attempts to access a secured object.

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

        • Object owner.

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

        • NTFS system access control lists (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.

    • Excludes (list) --

      A list of filter rules that determines which files to exclude from a task. The list should contain 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

    • 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 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

StartTaskExecution (updated) Link ¶
Changes (request)
{'Excludes': [{'FilterType': 'SIMPLE_PATTERN', 'Value': 'string'}]}

Starts a specific invocation of a task. A TaskExecution value represents an individual run of a task. Each task can have at most one TaskExecution at a time.

TaskExecution has the following transition phases: INITIALIZING | PREPARING | TRANSFERRING | VERIFYING | SUCCESS/FAILURE.

For detailed information, see the Task Execution section in the Components and Terminology topic in the DataSync User Guide .

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'
    },
    Includes=[
        {
            'FilterType': 'SIMPLE_PATTERN',
            'Value': 'string'
        },
    ],
    Excludes=[
        {
            'FilterType': 'SIMPLE_PATTERN',
            'Value': 'string'
        },
    ]
)
type TaskArn

string

param TaskArn

[REQUIRED]

The Amazon Resource Name (ARN) of the task to start.

type OverrideOptions

dict

param OverrideOptions

Represents the options that are available to control the behavior of a StartTaskExecution operation. Behavior includes preserving metadata such as user ID (UID), group ID (GID), and file permissions, and also overwriting files in the destination, data integrity verification, and so on.

A task has a set of default options associated with it. If you don't specify an option in StartTaskExecution , the default value is used. You can override the defaults options on each task execution by specifying an overriding Options value to StartTaskExecution .

  • VerifyMode (string) --

    A value that determines whether a data integrity verification should be performed at the end of a task execution after all data and metadata have been transferred. For more information, see Configure task settings .

    Default value: POINT_IN_TIME_CONSISTENT.

    ONLY_FILES_TRANSFERRED (recommended): Perform verification only on files that were transferred.

    POINT_IN_TIME_CONSISTENT: Scan the entire source and entire destination at the end of the transfer to verify that source and destination are fully synchronized. This option isn't supported when transferring to S3 Glacier or S3 Glacier Deep Archive storage classes.

    NONE: No additional verification is done at the end of the transfer, but all data transmissions are integrity-checked with checksum verification during the transfer.

  • OverwriteMode (string) --

    A value that determines whether files at the destination should be overwritten or preserved when copying files. If set to NEVER a destination file 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 S3 storage cost. For detailed information, see Considerations when working with Amazon S3 storage classes in DataSync in the DataSync User Guide .

  • Atime (string) --

    A file metadata value that shows the last time a file was accessed (that is, when the 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). However, Atime 's behavior is not 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) --

    A value that indicates the last time that a file was modified (that is, a file was written to) before the PREPARING phase. This option is required for cases when you need to run the same task more than one time.

    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) --

    The POSIX user ID (UID) of the file's owner. This option should only be set for NFS, EFS, and S3 locations. To learn more about what metadata is copied by DataSync, 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) --

    The POSIX group ID (GID) of the file's owners. This option should only be set for NFS, EFS, and S3 locations. For more information about what metadata is copied by DataSync, 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) --

    A value that specifies whether files in the destination that don't exist in the source file system should be preserved. This option can affect your 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 in the DataSync User Guide .

    Default value: PRESERVE.

    PRESERVE: Ignore such destination files (recommended).

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

  • PreserveDevices (string) --

    A value that determines whether DataSync should preserve the metadata of block and character devices in the source file system, and re-create the files with that device name and metadata on the destination. DataSync does not copy the contents of such devices, only the name and metadata.

    Note

    DataSync can't sync the actual contents of such devices, because they are 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 isn't currently supported for Amazon EFS.

  • PosixPermissions (string) --

    A value that determines which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file. This option should only be set for NFS, EFS, and S3 locations. For more information about what metadata is copied by DataSync, 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) --

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

  • TaskQueueing (string) --

    A value that determines whether tasks should be queued before executing the tasks. If set to ENABLED , the tasks will be queued. The default is ENABLED .

    If you use the same agent to run multiple tasks, you can enable the tasks to run in series. For more information, see Queueing task executions .

  • LogLevel (string) --

    A value that determines the type of logs that DataSync publishes to a log stream in the Amazon CloudWatch log group that you provide. For more information about providing a log group for DataSync, see CloudWatchLogGroupArn . If set to OFF , no logs are published. BASIC publishes logs on errors for individual files transferred, and TRANSFER publishes logs for every file or object that is transferred and integrity checked.

  • TransferMode (string) --

    A value that determines whether DataSync transfers only the data and metadata that differ between the source and the destination location, or whether DataSync transfers all the content from the source, without comparing to the destination location.

    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 to existing content on the destination.

  • SecurityDescriptorCopyFlags (string) --

    A value that determines 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 Amazon FSx for Windows File Server locations. For more information about how DataSync handles metadata, see How DataSync Handles Metadata and Special Files .

    Default value: OWNER_DACL.

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

    • Object owner.

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

    When choosing this option, DataSync does NOT copy the NTFS system access control lists (SACLs), which are used by administrators to log attempts to access a secured object.

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

    • Object owner.

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

    • NTFS system access control lists (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.

type Includes

list

param Includes

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

A list of filter rules that determines which files to exclude from a task. The list should contain 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

rtype

dict

returns

Response Syntax

{
    'TaskExecutionArn': 'string'
}

Response Structure

  • (dict) --

    StartTaskExecutionResponse

    • TaskExecutionArn (string) --

      The Amazon Resource Name (ARN) of the specific task execution that was started.

UpdateTask (updated) Link ¶
Changes (request)
{'Includes': [{'FilterType': 'SIMPLE_PATTERN', 'Value': 'string'}]}

Updates the metadata associated with a 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'
    },
    Excludes=[
        {
            'FilterType': 'SIMPLE_PATTERN',
            'Value': 'string'
        },
    ],
    Schedule={
        'ScheduleExpression': 'string'
    },
    Name='string',
    CloudWatchLogGroupArn='string',
    Includes=[
        {
            'FilterType': 'SIMPLE_PATTERN',
            'Value': 'string'
        },
    ]
)
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

Represents the options that are available to control the behavior of a StartTaskExecution operation. Behavior includes preserving metadata such as user ID (UID), group ID (GID), and file permissions, and also overwriting files in the destination, data integrity verification, and so on.

A task has a set of default options associated with it. If you don't specify an option in StartTaskExecution , the default value is used. You can override the defaults options on each task execution by specifying an overriding Options value to StartTaskExecution .

  • VerifyMode (string) --

    A value that determines whether a data integrity verification should be performed at the end of a task execution after all data and metadata have been transferred. For more information, see Configure task settings .

    Default value: POINT_IN_TIME_CONSISTENT.

    ONLY_FILES_TRANSFERRED (recommended): Perform verification only on files that were transferred.

    POINT_IN_TIME_CONSISTENT: Scan the entire source and entire destination at the end of the transfer to verify that source and destination are fully synchronized. This option isn't supported when transferring to S3 Glacier or S3 Glacier Deep Archive storage classes.

    NONE: No additional verification is done at the end of the transfer, but all data transmissions are integrity-checked with checksum verification during the transfer.

  • OverwriteMode (string) --

    A value that determines whether files at the destination should be overwritten or preserved when copying files. If set to NEVER a destination file 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 S3 storage cost. For detailed information, see Considerations when working with Amazon S3 storage classes in DataSync in the DataSync User Guide .

  • Atime (string) --

    A file metadata value that shows the last time a file was accessed (that is, when the 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). However, Atime 's behavior is not 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) --

    A value that indicates the last time that a file was modified (that is, a file was written to) before the PREPARING phase. This option is required for cases when you need to run the same task more than one time.

    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) --

    The POSIX user ID (UID) of the file's owner. This option should only be set for NFS, EFS, and S3 locations. To learn more about what metadata is copied by DataSync, 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) --

    The POSIX group ID (GID) of the file's owners. This option should only be set for NFS, EFS, and S3 locations. For more information about what metadata is copied by DataSync, 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) --

    A value that specifies whether files in the destination that don't exist in the source file system should be preserved. This option can affect your 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 in the DataSync User Guide .

    Default value: PRESERVE.

    PRESERVE: Ignore such destination files (recommended).

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

  • PreserveDevices (string) --

    A value that determines whether DataSync should preserve the metadata of block and character devices in the source file system, and re-create the files with that device name and metadata on the destination. DataSync does not copy the contents of such devices, only the name and metadata.

    Note

    DataSync can't sync the actual contents of such devices, because they are 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 isn't currently supported for Amazon EFS.

  • PosixPermissions (string) --

    A value that determines which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file. This option should only be set for NFS, EFS, and S3 locations. For more information about what metadata is copied by DataSync, 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) --

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

  • TaskQueueing (string) --

    A value that determines whether tasks should be queued before executing the tasks. If set to ENABLED , the tasks will be queued. The default is ENABLED .

    If you use the same agent to run multiple tasks, you can enable the tasks to run in series. For more information, see Queueing task executions .

  • LogLevel (string) --

    A value that determines the type of logs that DataSync publishes to a log stream in the Amazon CloudWatch log group that you provide. For more information about providing a log group for DataSync, see CloudWatchLogGroupArn . If set to OFF , no logs are published. BASIC publishes logs on errors for individual files transferred, and TRANSFER publishes logs for every file or object that is transferred and integrity checked.

  • TransferMode (string) --

    A value that determines whether DataSync transfers only the data and metadata that differ between the source and the destination location, or whether DataSync transfers all the content from the source, without comparing to the destination location.

    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 to existing content on the destination.

  • SecurityDescriptorCopyFlags (string) --

    A value that determines 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 Amazon FSx for Windows File Server locations. For more information about how DataSync handles metadata, see How DataSync Handles Metadata and Special Files .

    Default value: OWNER_DACL.

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

    • Object owner.

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

    When choosing this option, DataSync does NOT copy the NTFS system access control lists (SACLs), which are used by administrators to log attempts to access a secured object.

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

    • Object owner.

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

    • NTFS system access control lists (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.

type Excludes

list

param Excludes

A list of filter rules that determines which files to exclude from a task. The list should contain 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 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 CloudWatch LogGroup.

type Includes

list

param Includes

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

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --