Skip to main content

Files

Introduction

The Files component provides access to files and directories on the host computer along with three main capabilities for interacting with these files and directories:

The first capability allows automatic monitoring of files and directories. When a change is detected in a monitored file or directory, the component will notify the Robot Automation Platform, allowing automated upload of target files.

The second capability exposes the extended attribute feature that most operating systems allow so that metadata can be stored along with files.

The final capability exposes various file and directory handling capabilities such as copying, listing, moving, removing, etc of files on the robot.

Note

The Files component needs Agent version 1.7+

Automatic Monitoring

A list of directories to automatically monitor and upload may be pre-configured in the Portal. When the Agent connects to the Platform, the Agent is instructed to start monitoring files and/or directories that have been configured.

After the Agent receives the configuration, the agent will start monitoring for all changes to the paths that have been configured. This will include create, remove, rename, change attribute, and write events. These events are then published to the Platform, which will detect these events and as necessary, initiate file upload requests by calling the transfers/downloads/start and/or the transfers/uploads/start services exposed by the Files component.

File Transfer Backends

In order to for the Files component to be able to transfer files, a file transfer component must also be configured. This configuration implements the download and upload capability for a specific cloud file storage system. Each storage system that will be used must have its own component configured.

The following list shows the currently supported external storage systems:

  • Google Cloud Storage (GCS)

The Google Cloud Storage backend is the default backend supported by the Agent; this transfers files into the Robot Automation Portal. Alternative backends may be used to transfer files to alternative cloud storage accounts without going via the Robot Automation Portal; please contact us if you require such functionality.

Google Cloud Storage Configuration

To use the Google Cloud Storage component, your agent will need a section in its agent-settings.json file which enables the files-transfers-gcs component, as shown below. For more information on how to configure the agent components, see Agent Configuration.

{
"enabled": true,
"id": "files-transfer-gcs",
"settings": {
"logLevel": 4
}
}

Files Configuration

To use the Files component, your agent will need a section in its agent-settings.json file which enables the files component, as shown below. For more information on how to configure the agent components, see Agent Configuration.

{
"enabled": true,
"id": "files",
"settings": {
"logLevel": 4,
"downloader": {
"monitor": "/files-transfer-gcs/transfers/downloads",
"start": "/files-transfer-gcs/transfers/downloads/start",
"stop": "/files-transfer-gcs/transfers/downloads/stop"
},
"uploader": {
"monitor": "/files-transfer-gcs/transfers/uploads",
"start": "/files-transfer-gcs/transfers/uploads/start",
"stop": "/files-transfer-gcs/transfers/uploads/stop"
}
}
}

When configuring the Files component, topics must be specified for both downloading and uploading so that the Files component can monitor these internal topics and send this data out on known topics.

The Files component will republish the data coming from the "monitor" topics, /files-transfer-gcs/transfers/downloads and /files-transfer-gcs/transfers/uploads, to its own topics /files/transfers/downloads and /files/transfers/uploads. This unifies all file transfer backends into a single interface that can be accessed from the Files component instead.

The "start" topic in the "downloader" section provides access to a service that can be used to start a download, a similar service can also be defined in the "uploader" section.

The "stop" configuration in the "downloader" and "uploader" sections provide services to stop a known download or upload.

Data Model

Services

File Monitoring

Description
monitoring/startStart monitoring a set of files and/or directories.
monitoring/stopStop a known monitoring process.

Files Transfers

Description
transfers/downloads/startStart a download from the external storage system.
transfers/downloads/stopStop a known download.
transfers/uploads/startStart an upload to the external storage system.
transfers/uploads/stopStop a known upload.

File Attributes

Description
attributes/getGet an extended attribute associated with a file.
attributes/listGet all extended attributes associated with a file.
attributes/removeRemove an extended attribute.
attributes/setStore a value to an extended attribute associated with a file.

File Operations

Description
ops/copyCopy a file or directory.
ops/listList all files and directories with a directory. This listing can also list child directories if required.
ops/moveMove a file or directory.
ops/mkdirCreate a new directory.
ops/removeRemove a file or directory.
ops/readRead the contents of a file.

Telemetry

File Monitoring

Description
monitoring/changes/<absolute-path>Contains information about each file/directory change.
monitoring/statusContains information about active monitoring processes.

File Transfers

Description
transfers/downloadsExposes information about what downloads are currently active.
transfers/uploadsExposes information about what uploads are currently active.