N8N Tools - S3 Enhanced
Actions66
- Generate Presigned URL
- Generate Presigned POST
- Create Bucket
- Delete Bucket
- List Buckets
- Upload Object
- Download Object
- Delete Object
- List Objects
- Copy Object
- Get Object ACL
- Put Object ACL
- Get Bucket ACL
- Put Bucket ACL
- Get Bucket CORS
- Put Bucket CORS
- Delete Bucket CORS
- Get Bucket Lifecycle
- Put Bucket Lifecycle
- Delete Bucket Lifecycle
- Get Bucket Policy
- Put Bucket Policy
- Delete Bucket Policy
- Get Object Tagging
- Put Object Tagging
- Delete Object Tagging
- Get Bucket Tagging
- Put Bucket Tagging
- Delete Bucket Tagging
- Create Multipart Upload
- Upload Part
- Complete Multipart Upload
- Abort Multipart Upload
- List Parts
- List Multipart Uploads
- Get Bucket Versioning
- Put Bucket Versioning
- Get Bucket Logging
- Put Bucket Logging
- Get Bucket Notification
- Put Bucket Notification
- Get Bucket Replication
- Put Bucket Replication
- Delete Bucket Replication
- Get Bucket Encryption
- Put Bucket Encryption
- Delete Bucket Encryption
- Get Bucket Website
- Put Bucket Website
- Delete Bucket Website
- Get Bucket Metrics
- Put Bucket Metrics
- Delete Bucket Metrics
- Get Bucket Analytics
- Put Bucket Analytics
- Delete Bucket Analytics
- Get Bucket Inventory
- Put Bucket Inventory
- Delete Bucket Inventory
- Get Bucket Request Payment
- Put Bucket Request Payment
- Get Bucket Accelerate
- Put Bucket Accelerate
- Head Object
- Restore Object
- Select Object Content
Overview
The node "N8N Tools - S3 Enhanced" provides a comprehensive set of operations to interact with S3-compatible object storage services. It supports advanced features such as generating presigned URLs and POSTs for secure temporary access, multipart uploads for large files, bucket and object management, ACL and tagging configurations, lifecycle policies, replication, encryption, website hosting settings, and more.
This node is beneficial in scenarios where you need to automate or integrate complex S3 workflows within n8n, such as:
- Uploading files programmatically to an S3 bucket.
- Generating temporary URLs for clients to upload or download objects without exposing credentials.
- Managing bucket policies, CORS, lifecycle rules, and versioning.
- Handling multipart uploads for large files efficiently.
- Querying object content using SQL expressions.
- Configuring bucket notifications, replication, analytics, and inventory.
Practical example:
You can use this node to upload a file to a specific bucket and key, then generate a presigned URL that allows a client to download the file securely for a limited time without requiring AWS credentials.
Properties
| Name | Meaning |
|---|---|
| Bucket Name | Name of the S3 bucket where the operation will be performed. |
| Object Key | Complete path/key of the object inside the bucket (e.g., folder/file.pdf). |
| File Data | The data of the file to upload; can be binary data or base64 encoded string. |
For the Upload Object operation specifically, these properties are used:
| Name | Meaning |
|---|---|
| Bucket Name | Target S3 bucket name to upload the object. |
| Object Key | Full key/path under which the file will be stored in the bucket. |
| File Data | Content of the file to upload, provided as a string either in base64 or raw binary form. |
Output
The output JSON structure for the Upload Object operation includes:
bucket: The name of the bucket where the object was uploaded.key: The key/path of the uploaded object.etag: The ETag identifier returned by S3 for the uploaded object (useful for validation).versionId: Version ID if versioning is enabled on the bucket.size: Size in bytes of the uploaded file data.
Example output JSON snippet:
{
"bucket": "my-bucket-name",
"key": "folder/file.pdf",
"etag": "\"9b2cf535f27731c974343645a3985328\"",
"versionId": "null",
"size": 12345
}
If the node supports binary data output (not explicitly shown for upload), it would typically represent the file content or metadata accordingly.
Dependencies
- Requires an S3-compatible API key credential with access rights to perform the selected operations.
- Uses AWS SDK v3 modules internally (
@aws-sdk/client-s3,@aws-sdk/s3-request-presigner,@aws-sdk/s3-presigned-post). - Node configuration must include valid credentials and optionally region, endpoint, session token, and forcePathStyle flag.
- Network connectivity to the specified S3 endpoint is required.
Troubleshooting
Common Issues
- Invalid file data format: If the file data is not properly base64 encoded or UTF-8 string, the upload will fail with an error indicating invalid file data format.
- Access denied errors: Occur if the provided credentials lack permissions for the requested operation.
- Connection errors: May happen if the endpoint URL is incorrect or network issues prevent reaching the S3 service.
- JSON parsing errors: For operations requiring JSON input (like lifecycle rules, tags, policies), invalid JSON will cause errors.
Error Messages and Resolutions
"Invalid file data format": Ensure the file data is correctly base64 encoded or a valid UTF-8 string."Access denied. Check your credentials and permissions.": Verify the API key has sufficient permissions for the operation."Cannot connect to endpoint. Check your endpoint URL and network connection.": Confirm the endpoint URL is correct and accessible from your environment."Invalid JSON format": Validate JSON inputs using a JSON validator before providing them to the node.
Links and References
- AWS S3 Documentation – Official documentation for Amazon S3.
- AWS SDK for JavaScript v3 – Reference for the SDK used internally.
- Presigned URLs – How to generate and use presigned URLs.
- Multipart Upload Overview – Guide on multipart uploads in S3.
If you need details on other operations or resources, feel free to ask!