Options - AWS DataSync

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 option before calling StartTaskExecution.

You also can override your task options for each task execution. For example, you might want to adjust the LogLevel for an individual execution.

Contents

Atime

Specifies whether to preserve metadata indicating the last time a file was read or written to.

Note

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

  • BEST_EFFORT (default) - DataSync attempts to preserve the original Atime attribute on all source files (that is, the version before the PREPARING phase of the task execution). This option is recommended.

  • NONE - Ignores 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.

Type: String

Valid Values: NONE | BEST_EFFORT

Required: No

BytesPerSecond

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

Type: Long

Valid Range: Minimum value of -1.

Required: No

Gid

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

  • INT_VALUE (default) - Preserves the integer value of user ID (UID) and GID, which is recommended.

  • NONE - Ignores UID and GID.

For more information, see Metadata copied by DataSync.

Type: String

Valid Values: NONE | INT_VALUE | NAME | BOTH

Required: No

LogLevel

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

  • BASIC - Publishes logs with only basic information (such as transfer errors).

  • TRANSFER - Publishes logs for all files or objects that your DataSync task transfers and performs data-integrity checks on.

  • OFF - No logs are published.

Type: String

Valid Values: OFF | BASIC | TRANSFER

Required: No

Mtime

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.

  • PRESERVE (default) - Preserves original Mtime, which is recommended.

  • NONE - Ignores 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.

Type: String

Valid Values: NONE | PRESERVE

Required: No

ObjectTags

Specifies whether you want DataSync to PRESERVE object tags (default behavior) when transferring between object storage systems. If you want your DataSync task to ignore object tags, specify the NONE value.

Type: String

Valid Values: PRESERVE | NONE

Required: No

OverwriteMode

Specifies whether DataSync should modify or preserve data at the destination location.

  • ALWAYS (default) - DataSync modifies data in the destination location when source data (including metadata) has changed.

    If DataSync overwrites objects, you might incur additional charges for certain Amazon S3 storage classes (for example, for retrieval or early deletion). For more information, see Storage class considerations with Amazon S3 transfers.

  • NEVER - DataSync doesn't overwrite data in the destination location even if the source data has changed. You can use this option to protect against overwriting changes made to files or objects in the destination.

Type: String

Valid Values: ALWAYS | NEVER

Required: No

PosixPermissions

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.

  • PRESERVE (default) - Preserves POSIX-style permissions, which is recommended.

  • NONE - Ignores POSIX-style permissions.

Note

DataSync can preserve extant permissions of a source location.

Type: String

Valid Values: NONE | PRESERVE

Required: No

PreserveDeletedFiles

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.

  • PRESERVE (default) - Ignores such destination files, which is recommended.

  • REMOVE - Deletes 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.

Type: String

Valid Values: PRESERVE | REMOVE

Required: No

PreserveDevices

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.

  • NONE (default) - Ignores special devices (recommended).

  • PRESERVE - Preserves character and block device metadata. This option currently isn't supported for Amazon EFS.

Type: String

Valid Values: NONE | PRESERVE

Required: No

SecurityDescriptorCopyFlags

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.

  • OWNER_DACL (default) - 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 with the right permissions, see required permissions for SMB, FSx for Windows File Server, or FSx for ONTAP (depending on the type of location in your transfer).

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

Valid Values: NONE | OWNER_DACL | OWNER_DACL_SACL

Required: No

TaskQueueing

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

Type: String

Valid Values: ENABLED | DISABLED

Required: No

TransferMode

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 (default) - DataSync copies only data or metadata that is new or different content from the source location to the destination location.

  • ALL - DataSync copies everything in the source to the destination without comparing differences between the locations.

Type: String

Valid Values: CHANGED | ALL

Required: No

Uid

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

  • INT_VALUE (default) - Preserves the integer value of UID and group ID (GID), which is recommended.

  • NONE - Ignores UID and GID.

For more information, see Metadata copied by DataSync.

Type: String

Valid Values: NONE | INT_VALUE | NAME | BOTH

Required: No

VerifyMode

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

  • 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 (default) - At the end of the transfer, DataSync scans the entire source and destination to verify that both locations are fully synchronized.

    If you use a manifest, DataSync only scans and verifies what's listed in the manifest.

    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.

Type: String

Valid Values: POINT_IN_TIME_CONSISTENT | ONLY_FILES_TRANSFERRED | NONE

Required: No

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: