Aspera Node Search Plugin



This action plugin provides the ability to perform file system operations search through the Aspera Node API.

Saved Parameters Description

  • Name: The name used to identify a saved AsperaNodeSearch configured instance.
  • Comments: Some comments about this saved AsperaNodeSearch configured instance.
  • Aspera Node: The remote node name from defined Remote Nodes.
  • Aspera node IP address: The remote node IP address or domain name.
  • Node api port: Used to change the default Node API port.
  • Node user name: Node API user name.
  • Node user password: Node API password.
  • Use ssl?: Use Node API with HTTPS on port 9092; otherwise, use HTTP on port 9091.
  • Operation: Supported operations are Ping, Info, Search, Rename, Delete.
  • Source: For Search operation, enter one source: /TestFolder/. For a rename operation enter one or more values, comma-separated: /Path/To/File1, /Path/To/File2.
  • Target: Enter a string for a destination file: /Path/To/NewFile, or enter a RegEx starting with %s/ and ending with /g to modify the source files.
  • Overwrite during rename: When checked, the existing file will be overwritten during a rename operation
  • Search Parameter - Filter file type: Enter one or more of file, directory, or symbolic link as comma-separated values. If provided, the result set will include only those file types.
  • Search Parameter - Filter name: Enter one or more values, comma-separated. If provided, the result set will include only files that match the filepath.
  • Search Parameter - Filter basename: Enter one or more values, comma-separated. If provided, the result set will include only files that match the file base name.
  • Search Parameter - Max count: Default is 1000000. Total number of files to return after a search operation.
  • Search Parameter - Minimum size: Enter a integer value (bytes) to search for files whose size is more than the value provided.
  • Search Parameter - Filter mtime min: Filter for files modified after a specific time, in the format 2011-01-31T12:59:59Z (with "T" or a space in the middle and "Z" (optional) at the end.
  • Search Parameter - Filter mtime max: Filter for files modified before a specific time, in the format 2011-01-31T12:59:59Z (with "T" or a space in the middle and "Z" (optional) at the end.

Inputs description

The list of inputs depends on the configuration of the AsperaNodeAPI action template. Changes in this list of inputs will override any values set in the action template.

  • Aspera_Node_Server_Address: Remote node name or remote server IP address or remote server domain name
  • node_user_name: Node API user name
  • node_password: Node API password
  • filter_name: The result set will include only the files that match the filepath
  • filter_basename: The result set will include only the files that match the basename
  • filter_file_type: The result set will include only the selected file types
  • filter_mtime_min: Filter for files modified after a specific time
  • filter_mtime_max: Filter for files modified before a specific time
  • max_count: The number of files to retrieve.
  • use_ssl: If selected, the API call will be made on the HTTPS port (deafult is 9092); otherwise, it will be made on HTTP, on port 9091.

Outputs Description

  • Item count: The matching files as an array
  • Total Count: The matching files as an array
  • Search results: The matching files as an array

Supported Actions

None

Dependencies

None

Operating Instructions

Overview:

This action can do the following:
  • Ping: Check if the remote node responds to Node API request.
  • Info: Find out primary information regarding the remote node.
  • Search: Detects new files or folders matching a certain pattern, located below a watch directory in a remote server. The pattern matching and the directory path must be provided by the user. The search pattern can be adjusted using the parameters under the Search Parameters section.

    Globbing pattern matching can be used in file name and file base name patterns.

    Entering *.txt will result in all files with the .txt extension being detected.

    Multiple patterns can be entered separated by ',' such as *.txt,*.mxf

    For a search of files with txt extension under all directories starting with foo, use foo*/*.txt to retrieve /root/foo/toto.xt and /root/foo/foo2/titi.txt (/root being the watch directory).

    For a search under the foo directory including bar as a sub-directory, use foo/*/bar/*.txt to retrieve /root/foo/foo1/bar/toto.txt and /root/foo/foo2/bar/bar2/titi.txt.

    Other examples: fo? will match /root/foo or /root/fo1 but not /root/foo1, fo[1-9] will match /root/fo1 or /root/fo2 but not /root/foo1

    The search is case sensitive.

  • Rename: Renames the file given in the source field to the value provided in the target field
  • Delete: Deletes the file given in the source field

The remote nodes must be running Aspera Enterprise Server, Connect Server or Point to Point (Linux or Windows) with a valid license as they all use the asperanoded service for Node API calls. The node user name is a Node API account (not an operating system account on the Aspera transfer server). The transfer user (which is an operating system account) associated to the Node API account can be found by running the folllowing command on the Aspera server:

# /opt/aspera/bin/asnodeadmin -l 
   List of node user(s): 
                user       system/transfer user                    acls 
   ====================    =======================    ==================== 
           node_user                       xfer       [] 

The path to configure in the watch directory is relative to the docroot for this transfer user (in the example above, xfer).

The transfer user docroot can be found in /opt/aspera/etc/aspera.conf on the remote server such as:

                       <user> 
                        <name>xfer</name> 
                        <file_system> 
                            <access> 
                                <paths> 
                                    <path> 
                                        <absolute>/home/xfer/data</absolute> 
                                    </path> 
                                </paths> 
                            </access> 
                        </file_system> 
                        </user> 

For example, a watch directory like /root refers to /home/xfer/data/root on the remote server.

By default, only HTTPS (port 9092) is enabled on the Aspera servers for the Node API. To enable HTTP (port 9091) as well, make sure that /opt/aspera/etc/aspera.confon the remote server holds this section:

<server>
    <server_name>testchris2.sl.dev.asperacloud.net</server_name>
    <http_port>9091</http_port> 
    <https_port>9092</https_port> 
    <enable_http>true</enable_http> 
    <enable_https>true</enable_https> 
  </server>

Restart asperanoded on the remote server (as root) to enable any change in this aspera.conf port configuration:

service asperanoded restart
  

More information on the Aspera Node API can be found on the Aspera Developer Network.