Download Methods¶
-
class
rucio.client.downloadclient.
DownloadClient
(client=None, logger=None, check_admin=False)¶ -
download_aria2c
(items, trace_custom_fields={})¶ Uses aria2c to download the items with given DIDs. This function can also download datasets and wildcarded DIDs. It only can download files that are available via https/davs. Aria2c needs to be installed and X509_USER_PROXY needs to be set!
Parameters: - items – List of dictionaries. Each dictionary describing an item to download. Keys: did - DID string of this file (e.g. ‘scope:file.name’). Wildcards are not allowed rse - Optional: rse name (e.g. ‘CERN-PROD_DATADISK’) or rse expression from where to download base_dir - Optional: base directory where the downloaded files will be stored. (Default: ‘.’) no_subdir - Optional: If true, files are written directly into base_dir and existing files are overwritten. (Default: False) nrandom - Optional: if the DID addresses a dataset, nrandom files will be randomly choosen for download from the dataset ignore_checksum - Optional: If true, skips the checksum validation between the downloaded file and the rucio catalouge. (Default: False)
- trace_custom_fields – Custom key value pairs to send with the traces
Returns: a list of dictionaries with an entry for each file, containing the input options, the did, and the clientState
Raises: - InputValidationError – if one of the input items is in the wrong format
- NoFilesDownloaded – if no files could be downloaded
- NotAllFilesDownloaded – if not all files could be downloaded
- RucioException – if something went wrong during the download (e.g. aria2c could not be started)
-
download_dids
(items, num_threads=2, trace_custom_fields={})¶ Download items with given DIDs. This function can also download datasets and wildcarded DIDs.
Parameters: - items – List of dictionaries. Each dictionary describing an item to download. Keys: did - DID string of this file (e.g. ‘scope:file.name’). Wildcards are not allowed rse - Optional: rse name (e.g. ‘CERN-PROD_DATADISK’) or rse expression from where to download resolve_archives - Optional: bool indicating whether archives should be considered for download (Default: False) force_scheme - Optional: force a specific scheme to download this item. (Default: None) base_dir - Optional: base directory where the downloaded files will be stored. (Default: ‘.’) no_subdir - Optional: If true, files are written directly into base_dir and existing files are overwritten. (Default: False) nrandom - Optional: if the DID addresses a dataset, nrandom files will be randomly choosen for download from the dataset ignore_checksum - Optional: If true, skips the checksum validation between the downloaded file and the rucio catalouge. (Default: False) transfer_timeout - Optional: Timeout time for the download protocols. (Default: None)
- num_threads – Suggestion of number of threads to use for the download. It will be lowered if it’s too high.
- trace_custom_fields – Custom key value pairs to send with the traces
Returns: a list of dictionaries with an entry for each file, containing the input options, the did, and the clientState
Raises: - InputValidationError – if one of the input items is in the wrong format
- NoFilesDownloaded – if no files could be downloaded
- NotAllFilesDownloaded – if not all files could be downloaded
- RucioException – if something unexpected went wrong during the download
-
download_file_from_archive
(items, trace_custom_fields={})¶ Download items with a given PFN. This function can only download files, no datasets.
Parameters: - items – List of dictionaries. Each dictionary describing a file to download. Keys: did - DID string of the archive file (e.g. ‘scope:file.name’). Wildcards are not allowed archive - DID string of the archive from which the file should be extracted rse - Optional: rse name (e.g. ‘CERN-PROD_DATADISK’). RSE Expressions are allowed base_dir - Optional: Base directory where the downloaded files will be stored. (Default: ‘.’) no_subdir - Optional: If true, files are written directly into base_dir and existing files are overwritten. (Default: False)
- trace_custom_fields – Custom key value pairs to send with the traces
Returns: a list of dictionaries with an entry for each file, containing the input options, the did, and the clientState clientState can be one of the following: ALREADY_DONE, DONE, FILE_NOT_FOUND, FAIL_VALIDATE, FAILED
Raises: - InputValidationError – if one of the input items is in the wrong format
- NoFilesDownloaded – if no files could be downloaded
- NotAllFilesDownloaded – if not all files could be downloaded
- SourceNotFound – if xrdcp was unable to find the PFN
- ServiceUnavailable – if xrdcp failed
- RucioException – if something unexpected went wrong during the download
-
download_pfns
(items, num_threads=2, trace_custom_fields={})¶ Download items with a given PFN. This function can only download files, no datasets.
Parameters: - items – List of dictionaries. Each dictionary describing a file to download. Keys: pfn - PFN string of this file did - DID string of this file (e.g. ‘scope:file.name’). Wildcards are not allowed rse - rse name (e.g. ‘CERN-PROD_DATADISK’). RSE Expressions are not allowed base_dir - Optional: Base directory where the downloaded files will be stored. (Default: ‘.’) no_subdir - Optional: If true, files are written directly into base_dir and existing files are overwritten. (Default: False) ignore_checksum - Optional: If true, the checksum validation is skipped (for pfn downloads the checksum must be given explicitly). (Default: True) transfer_timeout - Optional: Timeout time for the download protocols. (Default: None)
- num_threads – Suggestion of number of threads to use for the download. It will be lowered if it’s too high.
- trace_custom_fields – Custom key value pairs to send with the traces
Returns: a list of dictionaries with an entry for each file, containing the input options, the did, and the clientState clientState can be one of the following: ALREADY_DONE, DONE, FILE_NOT_FOUND, FAIL_VALIDATE, FAILED
Raises: - InputValidationError – if one of the input items is in the wrong format
- NoFilesDownloaded – if no files could be downloaded
- NotAllFilesDownloaded – if not all files could be downloaded
- RucioException – if something unexpected went wrong during the download
-