N8N Tools - S3 Enhanced icon

N8N Tools - S3 Enhanced

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

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, versioning, logging, notifications, replication, encryption, website hosting, metrics, analytics, inventory, request payment settings, accelerate configuration, and more.

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

  • Uploading large files efficiently using multipart upload.
  • Generating temporary URLs for secure client-side access without exposing credentials.
  • Managing bucket policies, CORS, lifecycle rules, and other bucket-level configurations.
  • Handling object metadata, tags, ACLs, and content selection via SQL expressions.
  • Integrating S3 storage management into broader automation pipelines.

Practical example:
To upload a large video file, the user can initiate a multipart upload, upload parts in parallel, and then complete the upload, all orchestrated by this node. Alternatively, to allow a client to download a file securely, the node can generate a presigned URL valid for a limited time.


Properties

Name Meaning
Bucket Name Name of the S3 bucket where the operation will be performed.

For the Create Multipart Upload operation specifically, the only required input property is:

Name Meaning
Bucket Name Name of the S3 bucket to create upload in

(Note: The full node supports many other properties depending on the selected operation, but for this resource-operation pair only "Bucket Name" is relevant.)


Output

The output JSON for the Create Multipart Upload operation includes:

  • bucket: The name of the bucket where the multipart upload was initiated.
  • key: The object key (path) for which the multipart upload is created.
  • uploadId: The unique identifier for the multipart upload session.
  • message: A confirmation string indicating successful initiation.

Example output JSON:

{
  "bucket": "my-bucket-name",
  "key": "folder/file.pdf",
  "uploadId": "example-upload-id",
  "message": "Multipart upload initiated successfully"
}

This output allows subsequent multipart upload steps (uploading parts, completing, aborting) to reference the correct upload session.


Dependencies

  • Requires an S3-compatible storage service accessible via AWS SDK v3 clients.
  • Requires credentials providing access key ID, secret access key, and optionally session token, region, endpoint, and path style configuration.
  • The node depends on the AWS SDK for JavaScript v3 packages (@aws-sdk/client-s3, @aws-sdk/s3-request-presigner, @aws-sdk/s3-presigned-post).
  • Properly configured n8n credentials with valid API keys and permissions to perform multipart upload operations on the target bucket.

Troubleshooting

  • Common issues:

    • Invalid or missing credentials leading to authentication errors.
    • Incorrect bucket name or insufficient permissions causing access denied errors.
    • Network connectivity problems to the S3 endpoint.
    • Using an unsupported or misconfigured S3-compatible service endpoint.
  • Error messages and resolutions:

    • "S3 operation failed: <error message>": General failure; check error details for cause.
    • "Invalid Access Key ID. Please check your credentials.": Verify the access key ID is correct.
    • "Invalid Secret Access Key. Please check your credentials.": Verify the secret access key.
    • "Access denied. Check your credentials and permissions.": Ensure the credentials have proper permissions for multipart upload.
    • "Cannot connect to endpoint. Check your endpoint URL and network connection.": Validate the endpoint URL and network accessibility.
    • "Unknown operation: <operation>": Operation name mismatch; ensure the correct operation is selected.
  • When providing JSON inputs for other operations, ensure valid JSON format to avoid parsing errors.


Links and References

Discussion