Package Exports
- n8n-nodes-n8ntools-s3-enhanced
- n8n-nodes-n8ntools-s3-enhanced/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (n8n-nodes-n8ntools-s3-enhanced) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
N8N Tools - S3 Enhanced
Enhanced S3 operations node for N8N with advanced features including presigned URLs, multipart upload, and comprehensive bucket management.
⭐ Key Features
- 🔗 Presigned URLs - Generate temporary URLs for secure access without credentials
- 📦 Multipart Upload - Handle large files with resumable uploads
- 🗂️ Advanced Listing - Enhanced object and version listing with filtering
- 🔐 Access Control - Comprehensive ACL and policy management
- 🌐 Universal Compatibility - Works with AWS S3, MinIO, Wasabi, DigitalOcean Spaces, iDrive e2, and more
🚀 Quick Start
Installation
npm install n8n-nodes-n8ntools-s3-enhancedConfiguration
Create S3 Compatible Credentials:
- Endpoint: Your S3-compatible endpoint (leave empty for AWS)
- Region: Your region (e.g., us-east-1)
- Access Key ID: Your access key
- Secret Access Key: Your secret key
- Force Path Style: Enable for MinIO and some providers
- Use SSL: Enable for secure connections
Add the S3 Enhanced node to your workflow
Select your operation and configure parameters
📋 Available Operations
🔗 URL & Access Operations
- Generate Presigned URL - Create temporary access URLs
- Generate Presigned POST - Create secure upload forms
📦 Bucket Operations
- Create Bucket - Create new S3 buckets
- Delete Bucket - Remove existing buckets
- List Buckets - List all available buckets
- Head Bucket - Check bucket existence
- Get Bucket Location - Get bucket region
📄 Object Operations
- Upload Object - Upload files to buckets
- Download Object - Download files from buckets
- Delete Object - Remove single objects
- Delete Multiple Objects - Batch delete operations
- Copy Object - Copy objects within/between buckets
- Head Object - Get object metadata only
📋 Listing Operations
- List Objects - Enhanced object listing with filtering
- List Object Versions - List all object versions
🔄 Multipart Upload Operations
- Create Multipart Upload - Initialize large file uploads
- Upload Part - Upload individual parts
- Complete Multipart Upload - Finalize uploads
- Abort Multipart Upload - Cancel incomplete uploads
- List Multipart Uploads - List ongoing uploads
💡 Usage Examples
Generate Presigned URL for File Access
Perfect for giving temporary access to files stored in your bucket:
// Configuration
Operation: "Generate Presigned URL"
Bucket: "my-documents"
Key: "reports/monthly-report.pdf"
Method: "GET"
Expires In: 3600 // 1 hour
// Output
{
"bucket": "my-documents",
"key": "reports/monthly-report.pdf",
"method": "GET",
"presignedUrl": "https://my-bucket.s3.amazonaws.com/reports/monthly-report.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&...",
"expiresIn": 3600,
"expiresAt": "2024-01-15T15:30:00.000Z"
}Upload File with Metadata
Upload files with custom metadata and access controls:
// Configuration
Operation: "Upload Object"
Bucket: "media-storage"
Key: "images/photo.jpg"
File Data: "{{$binary.data.data}}" // Binary data
Content Type: "image/jpeg"
Advanced Options:
- ACL: "public-read"
- Storage Class: "STANDARD_IA"
- Metadata: {"author": "John Doe", "project": "Website"}List Objects with Filtering
Find specific files using prefix and delimiter filtering:
// Configuration
Operation: "List Objects"
Bucket: "document-archive"
Prefix: "2024/invoices/"
Delimiter: "/"
Max Keys: 100
// Output
{
"bucket": "document-archive",
"contents": [
{
"Key": "2024/invoices/invoice-001.pdf",
"Size": 245760,
"LastModified": "2024-01-15T10:30:00.000Z"
}
],
"keyCount": 25
}Multipart Upload for Large Files
Handle large file uploads with resume capability:
// Step 1: Create Multipart Upload
Operation: "Create Multipart Upload"
Bucket: "video-storage"
Key: "videos/large-video.mp4"
Content Type: "video/mp4"
// Step 2: Upload Parts (repeat for each part)
Operation: "Upload Part"
Upload ID: "{{$json.uploadId}}"
Part Number: 1
Part Data: "{{$binary.chunk1.data}}"
// Step 3: Complete Upload
Operation: "Complete Multipart Upload"
Upload ID: "{{$json.uploadId}}"
Parts: '{"Parts":[{"ETag":"etag1","PartNumber":1},{"ETag":"etag2","PartNumber":2}]}'🌐 Provider Compatibility
AWS S3
Endpoint: (leave empty)
Region: us-east-1
Force Path Style: falseMinIO
Endpoint: http://minio.example.com:9000
Region: us-east-1
Force Path Style: trueWasabi
Endpoint: https://s3.wasabisys.com
Region: us-east-1
Force Path Style: falseDigitalOcean Spaces
Endpoint: https://fra1.digitaloceanspaces.com
Region: fra1
Force Path Style: falseiDrive e2
Endpoint: https://endpoint.idrivee2.com
Region: us-east-1
Force Path Style: false⚙️ Advanced Options
Most operations support advanced options:
- Version ID - Work with specific object versions
- Storage Class - Set storage tier (STANDARD, IA, GLACIER, etc.)
- Server Side Encryption - Enable encryption (AES256, KMS)
- Metadata - Add custom object metadata
- ACL - Set access control permissions
- Content Disposition - Control download behavior
- Cache Control - Set caching headers
🔧 Error Handling
The node supports N8N's built-in error handling:
- Continue on Fail: Process remaining items even if some fail
- Detailed Error Messages: Clear descriptions of what went wrong
- Retry Logic: Built-in retry for transient failures
📊 Performance Tips
- Batch Operations: Use "Delete Multiple Objects" instead of individual deletes
- Multipart Upload: Use for files larger than 100MB
- Proper Filtering: Use prefix and delimiter for efficient listing
- Presigned URLs: Reduce server load by letting clients access S3 directly
🆘 Troubleshooting
Common Issues
403 Forbidden Errors
- Check your Access Key ID and Secret Access Key
- Verify bucket permissions and policies
- Ensure correct region configuration
Endpoint Connection Errors
- Verify endpoint URL format
- Check Force Path Style setting for non-AWS providers
- Confirm SSL/TLS settings match your provider
Presigned URL Not Working
- Check expiration time hasn't passed
- Verify URL encoding is preserved
- Ensure client respects HTTP method (GET/PUT/HEAD)
Debug Tips
- Test Connection: Use the credential test feature
- Start Simple: Begin with List Buckets to verify connectivity
- Check Logs: Review N8N execution logs for detailed errors
- Provider Docs: Consult your S3 provider's documentation
📈 Changelog
v1.0.0
- Initial release
- Complete S3 operations implementation
- Universal provider compatibility
- Presigned URL support
- Multipart upload support
📄 License
MIT License - see LICENSE file for details
🆘 Support
- Documentation: https://docs.n8ntools.io/nodes/s3-enhanced
- Issues: https://github.com/n8ntools/n8n-nodes/issues
- Discord: https://discord.gg/n8ntools
- Email: support@n8ntools.io
N8N Tools - Enhancing your automation workflows with powerful, reliable nodes.