🏃‍ ️Usage

This section describes how to use the PDS DUM client script.

pds-ingress-client Description

Upon installation of the DUM application, the pds-ingress-client script will be available for use on the command-line.

To see the usage documentation, you can run the following:

$ pds-ingress-client --help

The client application only has two arguments which must provided on each invocation, at least one path to files or directories to be uploaded, and the name of the PDS node the submission is on behalf of (via the --node argument).

When specifying the list of paths to be uploaded, any paths corresponding to directories will be automatically recursed by the client script, and each file within the directory will be included in the set uploaded to PDS Cloud. Any sub-directories will be similarly recursed to find any additional files within, until the entire directory tree is traversed.

Specifying the node ID of the requestor is accomplished via the --node argument, specifying one of the following node name values: atm,eng,geo,img,naif,ppi,rs,rms,sbn

The --dry-run flag can be used to have pds-ingress-client determine the full set of files and directories to be processed without actually submitting anything for ingest to PDS Cloud. This feature can be useful to ensure the correct set of files are being included for a request before performing any communication with the Server side of DUM.

The details of where the client script should submit ingest requests to are configured within an INI file. After installing DUM, a new INI config should be created with the appropriate values for each field. Once available, the config for use with a request can be specified via the --config-path argument. See the Client Configuration section of the installation instructions for more details on creating the INI config.

In its default configuration, the pds-ingress-client script includes the full path of each discovered file when sending the request to the Server side components. Typically, this can include unwanted path components, such as a user’s home directory. To control the path components included, the --prefix argument can be used to specify a path prefix that will be trimmed from all file paths discovered by pds-ingress-client.

For example, if the file /home/user/bundle/file.xml were to be uploaded, and --prefix /home/user were also provided, the path provided to the ingress service in AWS would resolve to bundle/file.xml.

Lastly, the pds-ingress-client by default utilizes all available CPUs on the local machine to perform parallelized ingress requests to the ingress service. The exact number of threads can be controlled via the --num-threads argument.