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 querying object content using SQL expressions.
This node is beneficial in scenarios where users need to automate complex S3 workflows within n8n, such as:
- Uploading or downloading files securely without exposing credentials by using presigned URLs.
- Managing buckets and objects programmatically, including copying, deleting, and listing.
- Configuring bucket policies, CORS, lifecycle rules, and versioning.
- Performing multipart uploads to handle large files efficiently.
- Querying the contents of objects (e.g., CSV files) using SQL expressions to extract subsets of data without downloading entire files.
Practical example:
A user wants to query a large CSV file stored in an S3 bucket to retrieve only rows matching certain criteria. Using the "Select Object Content" operation, they can specify an SQL expression and input/output serialization formats to get filtered data directly from the object, reducing bandwidth and processing time.
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. |
| Expression | SQL expression used to query the content of an object (used in Select Object Content operation). |
| Expression Type | Type of expression; currently only "SQL" is supported. |
| Input Serialization | JSON defining how the input object data is serialized (e.g., CSV format details). |
| Output Serialization | JSON defining how the output data should be serialized (e.g., CSV format details). |
These properties are specifically relevant for the Select Object Content operation.
Output
The output JSON structure for the Select Object Content operation includes:
bucket: The name of the bucket queried.key: The key/path of the object queried.expression: The SQL expression used.expressionType: The type of expression (e.g., SQL).payload: The raw payload returned by the select operation, containing the queried data stream.message: Confirmation message indicating successful selection of object content.- Additional metadata fields like
operation,timestamp, andsuccessstatus.
The payload field contains the streamed result of the SQL query executed on the object content. This allows retrieving only the subset of data matching the query without downloading the entire object.
No binary data output is indicated for this operation.
Dependencies
- Requires an S3-compatible service endpoint with valid credentials (access key ID, secret access key, optional session token).
- Uses AWS SDK v3 clients internally to communicate with the S3 service.
- Requires proper configuration of credentials in n8n to authenticate requests.
- The node supports custom endpoints and region settings for compatibility with various S3 providers.
Troubleshooting
- Invalid serialization JSON format: If the input or output serialization JSON is malformed, the node throws an error. Ensure that the JSON strings for
inputSerializationandoutputSerializationare correctly formatted. - Permission errors: Access denied errors may occur if the provided credentials lack permissions for the selected operation or bucket/object.
- Connection issues: Errors related to endpoint connectivity indicate network or endpoint misconfiguration.
- Unsupported expression types: Only SQL expressions are supported; other types will cause errors.
- Malformed SQL expression: Invalid SQL syntax in the
expressionproperty will cause the operation to fail.
To resolve these issues, verify JSON formatting, check credentials and permissions, confirm network connectivity, and validate SQL expressions before execution.
Links and References
- AWS S3 SelectObjectContent API – Official documentation on querying object content using SQL expressions.
- AWS SDK for JavaScript v3 – Used internally by the node for S3 operations.
- Amazon S3 Concepts – General concepts about buckets, objects, and S3 features.
If you need details on other operations or resources, feel free to ask!