...
A transfer request record is created either when there is a download or an upload initiated by a partner client that is connected to a local UDMG server or when a UDMG client is triggering a request on the interfaces: CLI, REST API, UAC UDMG File transfer task (see GET a file from an SFTP server). Usually, a transfer request is associated with a single file, where the filename is provided by the client and the path is determined by the transfer rule.
...
Example of a command line to register the same request on the REST API with the curl tool, notice the transferInfo
field:
Panel |
---|
$ curl -i -L 'http://hostname/api/transfers' -H 'Content-Type: application/json' -d '{
"rule": "rebex_receive_example",
"partner": "rebex",
"account": "demo",
"isSend": false,
"file": "wince*.png",
"transferInfo": { "udmg_xfer_wildcard": true}
}'
HTTP/1.1 201 Created
Location: /api/transfers/160
Date: Wed, 01 Mar 2023 13:57:58 GMT
Content-Length: 0
|
The result is the creation of a transfer record with the wildcard pattern, which executes as follow:
Connect to the remote partner
List the files that are matching with the pattern on the remote path
Create a child transfer record for each of the files. This transfer is set to planned status and is independant independent from the parent request.
Terminates and keep the list of files and child requests in its transfer info metadata
Additionally, the file size field is set to the number of matched files (and child requests)
The child requests as processed independantly independently from the parent request and can be paused, resumed or cancelled on their own.
Image RemovedImage Added
In this example, the transfer with ID 160 is the parent request, with the wildcard pattern, while 161 and 162 are the children requests for the 2 matching files: 'winceclient.png' and 'winceclientSmall.png'.
...
Example of transfer metadata for the parent, on the Admin UI and from the command line:
Image RemovedImage Added
Panel |
---|
$ waarp-gateway transfer get 160
● Transfer 160 (receive as client) [DONE]
Remote ID: 1630930379848286208
Protocol: sftp
Rule: rebex_receive_example
Requester: demo
Requested: rebex
Local filepath: /data/tmp/wince*.png
Remote filepath: /pub/example/wince*.png
File size: 2
Start date: 2023-03-01 13:57:58.434889 +0000 UTC
End date: 2023-03-01 13:58:07.030964 +0000 UTC
Bytes transferred: 0
Transfer values:
- udmg_sftp_client_version: SSH-2.0-Go
- udmg_sftp_config_ciphers: [aes128-gcm@opensshgcm@openssh.com chacha20-poly1305@openssh.com aes128-ctr aes192-ctr aes256-ctr]
- udmg_sftp_config_kex: [curve25519-sha256@libsshsha256@libssh.org ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 diffie-hellman-group-exchange-sha256 diffie-hellman-group1-sha1 diffie-hellman-group14-sha1]
- udmg_sftp_config_mac: [hmac-sha2-256-etm@opensshetm@openssh.com hmac-sha2-256 hmac-sha1 hmac-sha1-96]
- udmg_sftp_failed_auth_methods: [none]
- udmg_sftp_hostkey_algo: ssh-rsa
- udmg_sftp_kex_algo: curve25519-sha256@libssh.org
- udmg_sftp_read_algos: map[cipher:aes128-gcm@opensshgcm@openssh.com compression:none mac:]
- udmg_sftp_server_version: SSH-2.0-RebexSSH_5.0.8208.0
- udmg_sftp_sucessful_auth_methods: password
- udmg_sftp_write_algos: map[cipher:aes128-gcm@opensshgcm@openssh.com compression:none mac:]
- udmg_xfer_childIDs: [161 162]
- udmg_xfer_files: [winceclient.png winceclientSmall.png]
- udmg_xfer_log: /config/logs/160.log
- udmg_xfer_wildcard: true
|
Example of transfer metadata for the child, on the Admin UI and from the command line:
Image RemovedImage Added
Panel |
---|
$ waarp-gateway transfer get 161
● Transfer 161 (receive as client) [DONE]
Remote ID: 1630930415730556928
Protocol: sftp
Rule: rebex_receive_example
Requester: demo
Requested: rebex
Local filepath: /data/in/winceclient.png
Remote filepath: /pub/example/winceclient.png
File size: 2635
Start date: 2023-03-01 13:57:58.434889 +0000 UTC
End date: 2023-03-01 13:58:17.005211 +0000 UTC
Bytes transferred: 2635
Transfer values:
- udmg_sftp_client_version: SSH-2.0-Go
- udmg_sftp_config_ciphers: [aes128-gcm@opensshgcm@openssh.com chacha20-poly1305@openssh.com aes128-ctr aes192-ctr aes256-ctr]
- udmg_sftp_config_kex: [curve25519-sha256@libsshsha256@libssh.org ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 diffie-hellman-group-exchange-sha256 diffie-hellman-group1-sha1 diffie-hellman-group14-sha1]
- udmg_sftp_config_mac: [hmac-sha2-256-etm@opensshetm@openssh.com hmac-sha2-256 hmac-sha1 hmac-sha1-96]
- udmg_sftp_failed_auth_methods: [none]
- udmg_sftp_hostkey_algo: ssh-rsa
- udmg_sftp_kex_algo: curve25519-sha256@libssh.org
- udmg_sftp_read_algos: map[cipher:aes128-gcm@opensshgcm@openssh.com compression:none mac:]
- udmg_sftp_server_version: SSH-2.0-RebexSSH_5.0.8208.0
- udmg_sftp_sucessful_auth_methods: password
- udmg_sftp_write_algos: map[cipher:aes128-gcm@opensshgcm@openssh.com compression:none mac:]
- udmg_xfer_log: /config/logs/161.log
- udmg_xfer_parentID: 160
|
...