N8N Tools - S3 Enhanced icon

N8N Tools - S3 Enhanced

Enhanced S3 operations with presigned URLs, multipart upload, and advanced features

Overview

The node provides enhanced integration with S3-compatible storage services, enabling a wide range of bucket and object management operations. It supports advanced features such as generating presigned URLs for secure temporary access, multipart uploads for large files, and detailed bucket configurations (e.g., lifecycle, CORS, policies).

This node is beneficial in scenarios where users need to automate complex S3 workflows within n8n, such as:

  • Uploading large files in parts to optimize network usage.
  • Generating temporary URLs for clients to upload or download files securely without exposing credentials.
  • Managing bucket policies, tags, and configurations programmatically.
  • Querying object content using SQL expressions.

Practical example:
A user can initiate a multipart upload for a large video file, upload each part separately, and then complete the upload, all orchestrated within an n8n workflow. Alternatively, they can generate a presigned URL that allows a client application to upload a file directly to the bucket without needing AWS credentials.


Properties

Name Meaning
Bucket Name Name of the S3 bucket to operate on.
Object Key Complete path/key of the object within the bucket (e.g., folder/file.pdf).
Upload ID Multipart upload ID used to identify the multipart upload session.
Part Number The part number (1-10000) indicating the sequence of the part in a multipart upload.
Part Data The data of the part to upload, provided as a base64-encoded string.

These properties are specifically relevant for the Upload Part operation.


Output

The output JSON for the Upload Part operation includes:

  • bucket: The name of the bucket where the part was uploaded.
  • key: The object key associated with the multipart upload.
  • uploadId: The multipart upload ID identifying the upload session.
  • partNumber: The part number that was uploaded.
  • etag: The ETag returned by the service for the uploaded part, useful for completing the multipart upload.
  • message: A confirmation message indicating successful upload of the part.

No binary data is output by this operation.

Example output JSON snippet:

{
  "bucket": "my-bucket-name",
  "key": "folder/file.pdf",
  "uploadId": "example-upload-id",
  "partNumber": 1,
  "etag": "\"etag-value\"",
  "message": "Part uploaded successfully"
}

Dependencies

  • Requires an S3-compatible storage service endpoint.
  • Needs valid API credentials with permissions to perform multipart uploads.
  • The node uses AWS SDK v3 libraries internally to interact with the S3 service.
  • Requires configuration of an API key credential (access key ID and secret access key) in n8n for authentication.

Troubleshooting

  • Invalid Credentials Errors:
    If the node throws errors related to invalid access keys or secret keys, verify that the API credentials are correct and have sufficient permissions.

  • Upload ID Missing or Invalid:
    The multipart upload ID must be obtained from initiating a multipart upload before uploading parts. Ensure you use the correct upload ID.

  • Part Number Out of Range:
    Part numbers must be between 1 and 10,000. Using an invalid part number will cause errors.

  • Invalid Part Data Format:
    The part data must be base64 encoded. Providing improperly encoded data will result in upload failure.

  • Network or Endpoint Issues:
    Connection errors may indicate incorrect endpoint URLs or network connectivity problems.

  • Handling Failures:
    The node supports continuing on failure; if enabled, it will return error details per item instead of stopping execution.


Links and References

Discussion