Tetra Egnyte Connector User Guide (v1.0.x)
This guide shows how to use Tetra Egnyte Connector versions 1.0.x. The Connector is a containerized application that uses the Pluggable Connector Framework to monitor Egnyte software folders for new and modified files, and then upload them to the Tetra Data Platform (TDP).
Prerequisites
The Tetra Egnyte Connector requires the following:
- Active Egnyte account
- A valid client ID and client secret for an app defined in the Egnyte developer portal (contact your customer account leader to get help setting this up)
- Access to an Egnyte login with sufficient permissions to ingest files
Create a Tetra Egnyte Connector
To create a Tetra Egnyte Connector, do the following:
- Sign in to the TDP. Then, in the left navigation menu, choose Data Sources and select Connectors. The Connectors page appears.
- Follow the instructions in Create a Pluggable Connector. For CONNECTOR TYPE, make sure that you select Egnyte Connector.
NOTEAfter the Connector is created, the initial MODE status is set to IDLE by default. To activate the Connector, you must configure its settings. For instructions, see the Configure the Connector section.
Configure the Connector
On the Connectors page, select the name of the Connector that you created. Then, select the Configuration tab to configure the required settings.
Configuration Parameters
The Tetra Egnyte Connector requires the following configuration parameters.
Base Egnyte URL
- Parameter Name:
base_egnyte_url - Type: String
- Required: Yes
The base URL for your Egnyte instance, including the protocol.
Example: https://acme.egnyte.com
Client ID
- Parameter Name:
client_id - Type: String
- Required: Yes
The OAuth client ID (also referred to as "API key") from the Egnyte developers portal. This is used for OAuth authentication with Egnyte.
Client Secret
- Parameter Name:
client_secret - Type: String (Secret)
- Required: Yes
The client secret from the Egnyte developers portal. This is used along with the client ID for OAuth authentication.
NOTEThe client secret is stored securely and will not be visible after initial configuration.
Polling Interval
- Parameter Name:
polling_interval - Type: Number (integer)
- Required: No
- Default:
5minutes
How often the Connector checks Egnyte for new or updated files, specified in minutes. Must be between 1 and 1440 minutes (24 hours).
Destination ID
- Parameter Name:
destination_id - Type: String (UUID)
- Required: No
If provided, uploaded file paths will use this ID instead of the Connector's native ID. This is useful for maintaining consistent file paths when migrating from another Connector or data source.
Scan Paths
- Parameter Name:
scan_paths - Type: Array of JSON objects
- Required: No
Advanced file filtering and labeling configurations. When configured, files are matched against path configurations to determine if they should be uploaded and how they should be labeled.
Each path configuration object contains the following fields:
path: Folder path to scan in Egnyte (for example,"/data"or"/Shared/experiments/")file_pattern: Glob pattern for file names (for example,"*.txt","experiment_*", or"*"for all files)metadata_only(optional): Iftrue, only file metadata is uploaded to TDP instead of full file contents. Defaults tofalselabels(optional): Custom labels to apply to matching files (each label needsnameandvaluefields)
Matching Behavior:
- A file's path must start with the configured
path(when terminated with/) to match - The filename must match the glob pattern specified in
file_pattern - Empty strings for
pathorfile_patternmatch everything - When multiple path configurations match a file, labels from all matching configurations are applied
- A file is uploaded in metadata-only mode if and only if all matching path configurations have
metadata_onlyset totrue - Files that don't match any path configuration are not uploaded (if
scan_pathsis configured) - If
scan_pathsis not configured or empty, all files are uploaded with full content
Example Configuration:
{
"base_egnyte_url": "https://acme.egnyte.com",
"client_id": "your-client-id-here",
"client_secret": "your-client-secret-here",
"polling_interval": 10,
"scan_paths": [
{
"path": "/Shared/data",
"file_pattern": "*.txt",
"metadata_only": true,
"labels": [
{
"name": "experiment",
"value": "project-123"
}
]
},
{
"path": "/Shared/logs/connector",
"file_pattern": "*",
"metadata_only": false,
"labels": [
{
"name": "data_type",
"value": "logs"
}
]
}
]
}For more details on path configurations and label restrictions, see the Tetra Egnyte Connector artifact's README documentation. To access the README, see View Connectors and Their Details.
Review and Edit the Connector's Information
The Information tab on the Connector Details page displays information about the Connector, the files pending, successfully uploaded, or failed. It also provides functionality to edit a Connector’s information, metadata, and tags.
To edit the Connector's information, select the Edit button on the Connector Details page's Information tab.
For more information, see Review and Edit a Pluggable Connector's Information.
Set the Connector's Status to Running
Set the Connector's status to Running by following the instructions in Change a Pluggable Connector's Status.
Metrics
After a Connector instance is created and running, you can monitor the Connector’s health by selecting the Metrics tab on the Connector Details page. The Metrics tab displays the Connector's container metrics as well as aggregated states on total files scanned and uploaded as well as files that returned errors or are pending.
Access Data
Using the polling interval set in configuration, the Connector periodically queries Egnyte to discover new or modified files since the last poll. The Connector uses Egnyte's Events API to efficiently track file changes without scanning the entire file system.
NOTEThe connector only processes files from specific Egnyte event types: create, update, and copy. Other event types (such as move, delete, or rename) are not currently supported.
When new or modified files are detected, the Connector marks them in its internal data store as pending upload. These files become visible from the Connector's page as files with status PENDING. During each polling interval, the Connector processes pending files and uploads them to the TDP. Successfully uploaded files are marked as SUCCESS and failed uploads are marked as ERROR.
Files are uploaded to the TDP with the following metadata:
- Original file path from Egnyte
- File size and checksum
- Last modified timestamp
- Any configured labels from path configurations
- Egnyte entry ID and group ID for tracking
After upload, you can access files through the TDP Search page or through the TetraScience API using standard file search and retrieval methods.
Checksums
As described in the Egnyte documentation, Egnyte provides checksums for its files. These are either hex encoded SHA-512 strings, or a custom format based on combining SHA-512 from individual parts of an upload. Because this formatting differs from how the TDP and Amazon S3 implement checksums, the Egnyte checksum is not directly comparable to what is in the TDP.
The Connector does perform a running verification of the Egnyte checksum while uploading to the TDP. For each file, there will be a log entry indicating that the checksum was verified. If the Connector does not match the Egnyte checksum while uploading, it will mark the file transfer as failed with an error message indicating that the checksums failed to match.
Custom Commands
The Tetra Egnyte Connector supports custom commands that can be sent through the TetraScience Command Service or through the Connector's page in the TDP user interface. These commands allow you to manage file processing programmatically.
Mark File as Skipped
Action: TetraScience.Connector.Egnyte.MarkFileSkipped.v1
The Mark File as Skipped command provides the ability to mark a specific file version as SKIPPED to prevent it from being processed by the Connector through the TetraScience Command Service.
Use Cases:
- Skip corrupted or invalid files
- Exclude files that should not be processed
- Temporarily skip files pending fixes or updates
Behavior:
- Only files with status
PENDINGorERRORcan be marked asSKIPPED. - If both full file and metadata-only entries exist for the same
entry_id(due to configuration changes), both will be marked asSKIPPED. - Files marked as
SKIPPEDwill not be processed during subsequent Connector runs.
Required Payload Fields
entry_id(string): The Egnyte entry ID (version identifier) for the file to skip. This is Egnyte's unique identifier for a specific version of a file.reason(string, optional): Optional reason for skipping the file, stored in file metadata for audit trail (for example,"Corrupted file, waiting for re-upload")
How to Get the entry_id:
The entry_id is Egnyte's unique identifier for a specific version of a file. You can obtain it in two ways:
Method 1: Egnyte Web UI
- Navigate to the file in Egnyte.
- Right-click the file. Then, select Properties.
- Go to the Versions tab.
- Click "Copy version ID" for the version you want to skip.
- The copied value is the
entry_id.
Method 2: Egnyte API
- Call
GET /pubapi/v1/fs/{path}where{path}is the file path. - The response includes an
entry_idfield.
For more information about using the Egnyte Links API, see the Egnyte Links API documentation.
Example Payload:
{
"targetId": "your-connector-id",
"action": "TetraScience.Connector.Egnyte.MarkFileSkipped.v1",
"payload": {
"entry_id": "2c8e1083-47f8-4d57-94dc-fd05429b7ec3",
"reason": "Corrupted file, waiting for re-upload"
}
}Example Response:
{
"success": true,
"message": "File marked as SKIPPED for entry_id: 2c8e1083-47f8-4d57-94dc-fd05429b7ec3",
"entry_id": "2c8e1083-47f8-4d57-94dc-fd05429b7ec3",
"records_updated": 1,
"updated_records": [
{
"file_id": "12345",
"unique_external_id": "2c8e1083-47f8-4d57-94dc-fd05429b7ec3",
"filepath": "/Shared/data/experiment.txt",
"previous_status": "PENDING"
}
],
"new_status": "SKIPPED",
"reason": "Corrupted file, waiting for re-upload"
}Documentation Feedback
Do you have questions about our documentation or suggestions for how we can improve it? Start a discussion in TetraConnect Hub. For access, see Access the TetraConnect Hub.
NOTEFeedback isn't part of the official TetraScience product documentation. TetraScience doesn't warrant or make any guarantees about the feedback provided, including its accuracy, relevance, or reliability. All feedback is subject to the terms set forth in the TetraConnect Hub Community Guidelines.
Updated about 23 hours ago
