n8ntools-s3-enhanced

N8N Tools - S3 Enhanced: Complete S3 node with ALL 64 operations - presigned URLs, ACL, CORS, lifecycle, policies, tagging, multipart upload, versioning, encryption, website, metrics, analytics, inventory, accelerate, notifications, replication, and advan

Package Information

Released: 8/22/2025
Downloads: 19 weekly / 87 monthly
Latest Version: 3.0.0
Author: N8N Tools

Documentation

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-enhanced

Configuration

  1. 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
  2. Add the S3 Enhanced node to your workflow

  3. 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: false

MinIO

Endpoint: http://minio.example.com:9000
Region: us-east-1
Force Path Style: true

Wasabi

Endpoint: https://s3.wasabisys.com
Region: us-east-1
Force Path Style: false

DigitalOcean Spaces

Endpoint: https://fra1.digitaloceanspaces.com
Region: fra1
Force Path Style: false

iDrive 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

  1. Batch Operations: Use "Delete Multiple Objects" instead of individual deletes
  2. Multipart Upload: Use for files larger than 100MB
  3. Proper Filtering: Use prefix and delimiter for efficient listing
  4. 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

  1. Test Connection: Use the credential test feature
  2. Start Simple: Begin with List Buckets to verify connectivity
  3. Check Logs: Review N8N execution logs for detailed errors
  4. 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


N8N Tools - Enhancing your automation workflows with powerful, reliable nodes.

Discussion