Skip to content

This is a question about the API that allows you to download files from Aspera Connect and confirm the completion of the file transfer. #93

@blogsook

Description

@blogsook

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;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions