2022/10/24 - AWS DataSync - 4 updated api methods
Changes Added support for self-signed certificates when using object storage locations; added BytesCompressed to the TaskExecution response.
{'ServerCertificate': 'blob'}
Creates an endpoint for an object storage system that DataSync can access for a transfer. For more information, see Creating a location for object storage.
See also: AWS API Documentation
Request Syntax
client.create_location_object_storage( ServerHostname='string', ServerPort=123, ServerProtocol='HTTPS'|'HTTP', Subdirectory='string', BucketName='string', AccessKey='string', SecretKey='string', AgentArns=[ 'string', ], Tags=[ { 'Key': 'string', 'Value': 'string' }, ], ServerCertificate=b'bytes' )
string
[REQUIRED]
Specifies the domain name or IP address of the object storage server. A DataSync agent uses this hostname to mount the object storage server in a network.
integer
Specifies the port that your object storage server accepts inbound network traffic on (for example, port 443).
string
Specifies the protocol that your object storage server uses to communicate.
string
Specifies the object prefix for your object storage server. If this is a source location, DataSync only copies objects with this prefix. If this is a destination location, DataSync writes all objects with this prefix.
string
[REQUIRED]
Specifies the name of the object storage bucket involved in the transfer.
string
Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.
string
Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.
list
[REQUIRED]
Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can securely connect with your location.
(string) --
list
Specifies the key-value pair that represents a tag that you want to add to the resource. Tags can help you manage, filter, and search for your resources. We recommend creating a name tag for your location.
(dict) --
Represents a single entry in a list of Amazon Web Services 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.
bytes
Specifies a certificate to authenticate with an object storage system that uses a private or self-signed certificate authority (CA). You must specify a Base64-encoded .pem file (for example, file:///home/user/.ssh/storage_sys_certificate.pem). The certificate can be up to 32768 bytes (before Base64 encoding).
To use this parameter, configure ServerProtocol to HTTPS.
dict
Response Syntax
{ 'LocationArn': 'string' }
Response Structure
(dict) --
CreateLocationObjectStorageResponse
LocationArn (string) --
Specifies the ARN of the object storage system location that you create.
{'ServerCertificate': 'blob'}
Returns metadata about your DataSync location for an object storage system.
See also: AWS API Documentation
Request Syntax
client.describe_location_object_storage( LocationArn='string' )
string
[REQUIRED]
The Amazon Resource Name (ARN) of the object storage system location that you want information about.
dict
Response Syntax
{ 'LocationArn': 'string', 'LocationUri': 'string', 'AccessKey': 'string', 'ServerPort': 123, 'ServerProtocol': 'HTTPS'|'HTTP', 'AgentArns': [ 'string', ], 'CreationTime': datetime(2015, 1, 1), 'ServerCertificate': b'bytes' }
Response Structure
(dict) --
DescribeLocationObjectStorageResponse
LocationArn (string) --
The ARN of the object storage system location.
LocationUri (string) --
The URL of the object storage system location.
AccessKey (string) --
The access key (for example, a user name) required to authenticate with the object storage system.
ServerPort (integer) --
The port that your object storage server accepts inbound network traffic on (for example, port 443).
ServerProtocol (string) --
The protocol that your object storage system uses to communicate.
AgentArns (list) --
The ARNs of the DataSync agents that can securely connect with your location.
(string) --
CreationTime (datetime) --
The time that the location was created.
ServerCertificate (bytes) --
The self-signed certificate that DataSync uses to securely authenticate with your object storage system.
{'BytesCompressed': 'long'}
Returns detailed metadata about a task that is being executed.
See also: AWS API Documentation
Request Syntax
client.describe_task_execution( TaskExecutionArn='string' )
string
[REQUIRED]
The Amazon Resource Name (ARN) of the task that is being executed.
dict
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 }
Response Structure
(dict) --
DescribeTaskExecutionResponse
TaskExecutionArn (string) --
The Amazon Resource Name (ARN) of the task execution that was described. 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.
For detailed information about task execution statuses, see Understanding Task Statuses in the DataSync User Guide.
Options (dict) --
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 Flexible Retrieval 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.
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.
Uid (string) --
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) --
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) --
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.
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.
For more information, see Metadata copied by DataSync.
Default value: PRESERVE
PRESERVE: Preserve POSIX-style permissions (recommended).
NONE: Ignore permissions.
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.
ObjectTags (string) --
Specifies whether object tags are maintained 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 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
Includes (list) --
A list of filter rules that determines which files to include when running a task. The list 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
StartTime (datetime) --
The time that the task execution was started.
EstimatedFilesToTransfer (integer) --
The expected number of files that is to be transferred over the network. This value is calculated during the PREPARING phase, before the TRANSFERRING phase. This value is the expected number of files to be transferred. It's calculated based on comparing the content of the source and destination locations and finding the delta that needs to be transferred.
EstimatedBytesToTransfer (integer) --
The estimated physical number of bytes that is to be transferred over the network.
FilesTransferred (integer) --
The actual number of files that was transferred over the network. This value is calculated and updated on an ongoing basis during the TRANSFERRING phase. It's updated periodically when each file is read from the source and sent over the network.
If failures occur during a transfer, this value can be less than EstimatedFilesToTransfer. This value can also be greater than EstimatedFilesTransferred in some cases. This element is implementation-specific for some location types, so don't use it as an indicator for a correct file number or to monitor your task execution.
BytesWritten (integer) --
The number of logical bytes written to the destination Amazon Web Services storage resource.
BytesTransferred (integer) --
The physical number of bytes transferred over the network.
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.
{'ServerCertificate': 'blob'}
Updates some parameters of an existing object storage location that DataSync accesses for a transfer. For information about creating a self-managed object storage location, see Creating a location for object storage.
See also: AWS API Documentation
Request Syntax
client.update_location_object_storage( LocationArn='string', ServerPort=123, ServerProtocol='HTTPS'|'HTTP', Subdirectory='string', AccessKey='string', SecretKey='string', AgentArns=[ 'string', ], ServerCertificate=b'bytes' )
string
[REQUIRED]
Specifies the ARN of the object storage system location that you're updating.
integer
Specifies the port that your object storage server accepts inbound network traffic on (for example, port 443).
string
Specifies the protocol that your object storage server uses to communicate.
string
Specifies the object prefix for your object storage server. If this is a source location, DataSync only copies objects with this prefix. If this is a destination location, DataSync writes all objects with this prefix.
string
Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.
string
Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.
list
Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can securely connect with your location.
(string) --
bytes
Specifies a certificate to authenticate with an object storage system that uses a private or self-signed certificate authority (CA). You must specify a Base64-encoded .pem file (for example, file:///home/user/.ssh/storage_sys_certificate.pem). The certificate can be up to 32768 bytes (before Base64 encoding).
To use this parameter, configure ServerProtocol to HTTPS.
Updating the certificate doesn't interfere with tasks that you have in progress.
dict
Response Syntax
{}
Response Structure
(dict) --