StartFileTransfer - AWS Transfer Family

StartFileTransfer

Begins a file transfer between local AWS storage and a remote AS2 or SFTP server.

  • For an AS2 connector, you specify the ConnectorId and one or more SendFilePaths to identify the files you want to transfer.

  • For an SFTP connector, the file transfer can be either outbound or inbound. In both cases, you specify the ConnectorId. Depending on the direction of the transfer, you also specify the following items:

    • If you are transferring file from a partner's SFTP server to Amazon Web Services storage, you specify one or more RetrieveFilePaths to identify the files you want to transfer, and a LocalDirectoryPath to specify the destination folder.

    • If you are transferring file to a partner's SFTP server from AWS storage, you specify one or more SendFilePaths to identify the files you want to transfer, and a RemoteDirectoryPath to specify the destination folder.

Request Syntax

{ "ConnectorId": "string", "LocalDirectoryPath": "string", "RemoteDirectoryPath": "string", "RetrieveFilePaths": [ "string" ], "SendFilePaths": [ "string" ] }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

ConnectorId

The unique identifier for the connector.

Type: String

Length Constraints: Fixed length of 19.

Pattern: c-([0-9a-f]{17})

Required: Yes

LocalDirectoryPath

For an inbound transfer, the LocaDirectoryPath specifies the destination for one or more files that are transferred from the partner's SFTP server.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 1024.

Pattern: (.)+

Required: No

RemoteDirectoryPath

For an outbound transfer, the RemoteDirectoryPath specifies the destination for one or more files that are transferred to the partner's SFTP server. If you don't specify a RemoteDirectoryPath, the destination for transferred files is the SFTP user's home directory.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 1024.

Pattern: (.)+

Required: No

RetrieveFilePaths

One or more source paths for the partner's SFTP server. Each string represents a source file path for one inbound file transfer.

Type: Array of strings

Array Members: Minimum number of 1 item. Maximum number of 10 items.

Length Constraints: Minimum length of 1. Maximum length of 1024.

Pattern: (.)+

Required: No

SendFilePaths

One or more source paths for the Amazon S3 storage. Each string represents a source file path for one outbound file transfer. For example, amzn-s3-demo-bucket/myfile.txt .

Note

Replace amzn-s3-demo-bucket with one of your actual buckets.

Type: Array of strings

Array Members: Minimum number of 1 item. Maximum number of 10 items.

Length Constraints: Minimum length of 1. Maximum length of 1024.

Pattern: (.)+

Required: No

Response Syntax

{ "TransferId": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

TransferId

Returns the unique identifier for the file transfer.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 512.

Pattern: [0-9a-zA-Z./-]+

Errors

For information about the errors that are common to all actions, see Common Errors.

InternalServiceError

This exception is thrown when an error occurs in the AWS Transfer Family service.

HTTP Status Code: 500

InvalidRequestException

This exception is thrown when the client submits a malformed request.

HTTP Status Code: 400

ResourceNotFoundException

This exception is thrown when a resource is not found by the AWSTransfer Family service.

HTTP Status Code: 400

ServiceUnavailableException

The request has failed because the AWSTransfer Family service is not available.

HTTP Status Code: 500

ThrottlingException

The request was denied due to request throttling.

HTTP Status Code: 400

Examples

Example

The following example starts an AS2 file transfer from a Transfer Family server to a remote trading partner's endpoint. Replace amzn-s3-demo-bucket with one of your actual buckets.

Sample Request

{ "ConnectorId": "c-AAAA1111BBBB2222C", "SendFilePaths": [ "/amzn-s3-demo-bucket/myfile-1.txt", "/amzn-s3-demo-bucket/myfile-2.txt", "/amzn-s3-demo-bucket/myfile-3.txt" ] }

Sample Response

{ "TransferId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

Example

The following example starts a file transfer from local AWS storage to a remote SFTP server.

Sample Request

{ "ConnectorId": "c-01234567890abcdef", "SendFilePaths": [ "/amzn-s3-demo-bucket/myfile-1.txt", "/amzn-s3-demo-bucket/myfile-2.txt", "/amzn-s3-demo-bucket/myfile-3.txt" ], "RemoteDirectoryPath": "/MySFTPRootFolder/fromTranferFamilyServer" }

Sample Response

{ "TransferId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" }

Example

The following example starts a file transfer from a remote SFTP server to local AWS storage.

Sample Request

{ "ConnectorId": "c-111122223333AAAAA", "RetrieveFilePaths": [ "/MySFTPFolder/toTranferFamily/myfile-1.txt", "/MySFTPFolder/toTranferFamily/myfile-2.txt", "/MySFTPFolder/toTranferFamily/myfile-3.txt" ], "LocalDirectoryPath": "/amzn-s3-demo-bucket/mySourceFiles" }

Sample Response

{ "TransferId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa" }

See Also

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