-
Notifications
You must be signed in to change notification settings - Fork 5
Description
When downloading a file from Aspera Connect, please let me know if an API function can confirm that the file has been downloaded and completed.
Related information
var transferCookie = {
idx : idx,
issueId : issueId,
};
var connectSpec = {
allow_dialogs: false,
use_absolute_destination_path: true
};
var transferSpec = {
paths: [
{
source: filePath,
destination: fileName
}
],
destination_root: targetDirectory,
remote_host: "${asperaVo.serverIp}",
remote_user: "${asperaVo.userId}"
remote_password: "${asperaVo.userPw}",
direction: 'receive',
authentication : 'password',
cipher : 'none',
overwrite_policy : 'always',
cookie: transferCookie,
fasp_port : "${asperaVo.faspPort}",
ssh_port : "${asperaVo.sshPort}",
title: fileName
};
asperaWeb.startTransfer(transferSpec, connectSpec,
{
success : function (data){
data.transfer_specs.forEach(function (transfer) {
fileDownInfo[idx].uuid = transfer.uuid;
fileDownInfo[idx].downloadFlag = true;
});
},
error : function (e){
}
});
}
If the Aspera client already has a file to download, it seems that Aspera HSTS skips it without actually downloading it, because the overwrite_policy of the transferSpec code above is always.
But Aspera Connect's log (aspera-scp-transfer.0) will record "status=success" for the file being downloaded.
Do you think the following API would be helpful to confirm that the file transfer has been completed, as in this case?
---> https://github.com/IBM/aspera-sdk-js/blob/3ccc4a0/src/models/models.ts#L400
export type TransferStatus = 'failed'|'completed'|'running'|'queued'|'removed'|'canceled'|'orphaned'|'paused';
export interface AsperaSdkTransfer {
/** The ID of the transfer /
uuid: string;
/* The transferSpec that started the transfer (secrets redacted) /
transfer_spec: TransferSpec;
/* ISO date string when transfer was started /
// add_time: string; // FIXME: Not yet added in SDK
/* The name of the current file being transferred /
current_file: string;
/* The count of files being transferred /
file_counts: {
/* Number of files attempted /
attempted: number;
/* Number of files completed /
completed: number;
/* Number of files failed /
failed: number;
/* Number of files skipped /
skipped: number;
};
/* ISO date string when transfer finished (empty string if not finished) /
end_time: string;
/* The path opened in Explorer/Finder when user clicks 'Open Containing Folder' in the application /
explorer_path: string;
/* The status of the transfer /
status: TransferStatus;
/* The transfer error description if the status is error /
error_desc: string;
/* The transfer error code (SSH or HTTP) if the status is error /
error_code: number;
/* The number of bytes written to storage for this transfer /
bytes_written: number;
/* The number of bytes expected to be written to storage for this transfer /
bytes_expected: number;
/* The current calculated rate of the fasp transfer /
calculated_rate_kbps: number;
/* The time the transfer has been running in microseconds /
elapsed_usec: number;
/* The percentage of the transfer 0 - 1 (0.6 = 60%) /
percentage: number;
/* Remaining time in microseconds /
// remaining_usec: number; // FIXME: Not yet added in SDK
/* The title of the transfer */
title: string;
}