| Configure the Server from the Command Line |
81
1.
Associate the transfer user with a Node API username and password, if not already configured.
# /opt/aspera/bin/asnodeadmin -a -u
node_username
-p
node_password
-
x
transfer_user
To view existing Node API users and the transfer users associated with them, run the following command:
# /opt/aspera/bin/asnodeadmin -l
2.
Create your validation script.
Note:
The validation service must be executed on a system that has access to the storage.
The validation script should follow these steps:
a) Identify the files that need to be validated by using the Reliable Query REST API:
curl -X POST -u
node_user
:
password
-d '{ "file_transfer_filter":
{ "max_result": 20}, "validation": { "validator_id":
"
validator_id
" } }' https://
server_name
:9092/services/rest/transfers/
v1/files
Where the
validator_id
is a unique ID to prevent simultaneous validation of the same file by different
validators. The value for
max_result
sets a "batch size" for how many files are collected for validation by
each POST request, and cannot exceed 1000.
The POST request retrieves the files that are "to_be_validated", updates their state to "validating" and the
owner to the validator ID, and returns the file list, with information similar to the following:
{
"file_transfer_info_result": {
"file_transfer_info" : [
{ "session_uuid":"9a2678c3-64db-4bc1-abd4-605ad7702230",
"path" :"/tmp/src/dir","local_id":1,
"file_id":"47203042-bb57-487f-95df-ad614d0a3720",
"status":"validating",
"new_file":true, "error_code":0,
"size":10000000,
"start_offset":0,
"bytes_written":10000000,
"bytes_contiguous":0, "bytes_lost":0,
"elapsed":0,"bytes_processed":0,
"start_date":"2017-11-29T16:21:24Z",
"checksum_type":"None"
} ],
"iteration_token":"0000000000000003",
"remaining_result_count":1,
"result_count":1
} }
b) Validate the files and update the "bytes_processed".
By updating the "bytes_processed", the GUI can display a progress bar:
curl -X PUT -u
node_user
:
password
-d '{ "validator_id": "
validator_id
",
"files": [{ "session_uuid": "
session_uuid
", "file_id": "
file_id
",
"status": "validating", "bytes_processed":
bytes
} ] }'
https://
server_name
:9092/services/rest/transfers/v1/files