Aspera Node API Plugin



This action plugin provides the ability to perform file system operations such as: search, rename, delete. It acquires from the node information needed to set up a transfer, including token, ssh user, and port, and it queries the status of a node (ping).

Saved Parameters Description

  • Name: The name used to identify a saved AsperaNodeApi configured instance.
  • Comments: Some comments about this saved AsperaNodeApi 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: 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 comma-separated values, such as file, directory, or symbolic link. 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 file that match the filepath
  • filter_basename: The result set will include only the file 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 no. of files to retrieve.
  • use_ssl: If checked 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

  • NODE_API_RESULTS: The matching files or operation result as a Hash (map)

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. 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.conf on 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.