JSPM

n8n-nodes-n8ntools-s3-enhanced

3.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 23
  • Score
    100M100P100Q59653F
  • License MIT

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 advanced search

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