English | 中文
🚀 Built with Trae IDE Vibe Coding - Welcome to use and submit Issues!
- 🔥 10+ Operations: Complete VolcEngine TOS automation with file and bucket management
- 🔐 Pre-signed URLs: Secure file access with configurable expiration times
- 🧪 High Quality: 94.77% test coverage with 139 unit tests
- 🌐 Bilingual: Full English and Chinese documentation
- ⚡ Type Safe: Built with TypeScript for better development experience
- 📦 Easy Setup: Zero configuration, works out of the box
This is an n8n community node that lets you use VolcEngine TOS (Torch Object Storage) in your n8n workflows.
VolcEngine TOS is a secure, durable, and highly scalable cloud storage service provided by ByteDance's VolcEngine platform. It offers object storage capabilities for storing and retrieving any amount of data from anywhere.
n8n is a fair-code licensed workflow automation platform.
Installation
Operations
Credentials
Compatibility
Usage
Resources
Follow the installation guide in the n8n community nodes documentation.
Package name: n8n-nodes-volcengine-tos
The VolcEngine TOS node supports the following operations:
- Check File Existence: Check if a file exists in the specified bucket and get its metadata
- Upload File: Upload a binary file to VolcEngine TOS bucket with optional public access configuration
- Download File: Download a file from VolcEngine TOS bucket
- Delete File: Delete a file from VolcEngine TOS bucket
- Copy File: Copy a file within VolcEngine TOS (same or different buckets)
- List Files: List files in a VolcEngine TOS bucket with optional prefix filtering
- Get Pre-Signed URL: Generate a pre-signed URL for secure file access with configurable expiration time
- Create Bucket: Create a new VolcEngine TOS bucket
- Delete Bucket: Delete an existing VolcEngine TOS bucket
- List Buckets: List all available VolcEngine TOS buckets
To use this node, you need to set up VolcEngine TOS API credentials:
- Sign up for a VolcEngine account at volcengine.com
- Create a TOS bucket in the VolcEngine console
- Generate Access Key ID and Secret Access Key
- In n8n, go to Credentials and create new VolcEngine TOS API credentials
- Fill in the following information:
- Access Key: Your VolcEngine Access Key ID
- Secret Key: Your VolcEngine Secret Access Key
- Bucket: Your TOS bucket name
- Endpoint: Your TOS service endpoint (e.g.,
tos-s3-cn-beijing.volces.com) - Region: Your bucket region (e.g.,
cn-beijing)
- Minimum n8n version: 0.198.0
- Node.js version: >=20.15
- Tested with: n8n 1.x
This node uses the official @volcengine/tos-sdk (v2.7.5) for reliable integration with VolcEngine TOS.
- Select "Check Existence" operation
- Provide the file path in the bucket
- The node will return whether the file exists along with file URL and metadata
- Select "Upload File" operation
- Specify the target file path in the bucket
- Choose the binary property containing the file data
- Optionally enable "Make Public" to set public-read ACL
- The node will upload the file and return the file URL and upload details
- Select "Download File" operation
- Provide the file path in the bucket
- The node will download the file and return it as binary data
- Select "Copy File" operation
- Specify the source file path
- Specify the destination file path
- The node will copy the file and return operation details
- Select "List Files" operation
- Configure optional parameters:
- Prefix Filter: Filter files by prefix (e.g., "images/" to list only files in images folder)
- Maximum Number: Limit the number of files returned (default: 1000)
- Delimiter: Group files by common prefixes (useful for folder-like structure)
- Marker: Start listing from a specific file (for pagination)
- The node returns an enhanced output format:
files: Array of file objects with metadatafolders: Array of folder prefixestotalFiles: Count of files returnedtotalFolders: Count of folder prefixes- Legacy fields (
objects,commonPrefixes) are maintained for backward compatibility
- Select "Get Pre-Signed URL" operation
- Provide the file path in the bucket
- Choose HTTP method (GET for download/view, PUT for upload)
- Set expiration time in seconds (default: 1800 = 30 minutes)
- Optionally specify version ID, content type, or content disposition
- The node will generate a secure pre-signed URL for temporary file access
- Create Bucket: Specify bucket name and optional configuration
- Delete Bucket: Specify bucket name to delete
- List Buckets: Get all available buckets with metadata
The node includes comprehensive error handling with user-friendly error messages and supports n8n's "Continue on Fail" option for robust workflow execution.
The project includes comprehensive unit tests for all operations:
# Run all unit tests (excludes integration tests)
npm test -- --testPathIgnorePatterns=".*\.integration\.test\.ts$"
# Run specific operation tests
npm test -- --testPathPattern="ListBucketsOperation\.test\.ts$"Test Coverage: 12 test suites, 80 unit tests covering all operations and error scenarios.
Integration tests require real VolcEngine TOS credentials:
# Set up environment variables
export VOLCENGINE_ACCESS_KEY="your-access-key"
export VOLCENGINE_SECRET_KEY="your-secret-key"
export VOLCENGINE_BUCKET="your-test-bucket"
export VOLCENGINE_REGION="cn-north-1" # optional
export VOLCENGINE_ENDPOINT="" # optional
# Run integration tests
npm test -- --testPathPattern="VolcEngineTosNode\.integration\.test\.ts$"
# Run all tests (unit + integration)
npm testNote: Integration tests will fail without valid credentials, but unit tests ensure code quality and functionality.
The project follows a modular architecture:
- Modular Operations: Each TOS operation is implemented as a separate class
- Factory Pattern:
OperationFactorymanages operation instantiation - Centralized Error Handling:
TosErrorHandlerprovides consistent error management - Type Safety: Full TypeScript implementation with proper interfaces
- Base Operation: Abstract
BaseOperationclass for common functionality