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 bucket management, object manipulation, access control, lifecycle policies, tagging, multipart uploads, presigned URLs, and advanced features like analytics, inventory, and replication configurations.

This node is beneficial in scenarios where users need to automate complex workflows involving S3 buckets and objects, such as:

  • Creating or deleting buckets programmatically.
  • Uploading, downloading, copying, or deleting objects.
  • Managing bucket policies, ACLs, CORS, lifecycle rules, and tags.
  • Generating presigned URLs or POST forms for secure temporary access.
  • Handling large files via multipart upload.
  • Configuring advanced bucket features like analytics, metrics, encryption, notifications, and versioning.

Practical example:
A user can automate the process of uploading files to an S3 bucket, generate a presigned URL for sharing the file securely without exposing credentials, and then update the object's tags and ACLs for access control — all within a single workflow using this node.


Properties

Name Meaning
Bucket Name Name of the S3 bucket to operate on.
Configuration ID Identifier for specific configurations like metrics, analytics, or inventory settings.

Note: The above properties are relevant for the "Delete Bucket Analytics" operation and other related configuration operations.

For the full node, many more properties exist depending on the selected operation, including but not limited to:

  • Object Key: Path/key of the object inside the bucket.
  • HTTP Method: For presigned URL generation (GET, PUT, HEAD).
  • Expires In (seconds): Expiration time for presigned URLs or posts.
  • File Data: Content to upload (binary/base64).
  • Search Pattern: Regex to filter listed objects.
  • ACL: Access control list options (e.g., private, public-read).
  • Tags: JSON key-value pairs for tagging buckets or objects.
  • Multipart Upload Parameters: Upload ID, part number, part data, parts array.
  • Versioning Status: Enable or suspend bucket versioning.
  • Various JSON configurations: For CORS, lifecycle, policy, notification, replication, encryption, website, metrics, analytics, inventory, restore requests, and select object content.

Output

The node outputs JSON objects containing the results of the executed operation. Each output item includes:

  • Operation-specific response data, e.g., confirmation flags (deleted: true), configuration details, metadata, URLs, or lists of buckets/objects.
  • Common fields added by the node:
    • operation: The name of the performed operation.
    • timestamp: ISO string timestamp when the operation was executed.
    • success: Boolean indicating if the operation succeeded.

If an error occurs and "Continue On Fail" is enabled, the output will contain an error message and success: false.

Binary data:
For download operations, the node encodes object data as base64 strings in the data field within the JSON output. No direct binary output is emitted; instead, the base64 encoding allows safe transfer within JSON.


Dependencies

  • Requires an S3-compatible API key credential with access key ID and secret access key, optionally with session token, region, endpoint, and path style configuration.
  • Uses AWS SDK clients internally to communicate with the S3 service.
  • Node expects proper network connectivity to the configured S3 endpoint.
  • No additional external dependencies beyond the AWS SDK and n8n core modules.

Troubleshooting

Common Issues

  • Invalid Credentials:
    Errors like "Invalid Access Key ID" or "Invalid Secret Access Key" indicate incorrect or missing API keys. Verify credentials and permissions.

  • Access Denied:
    Indicates insufficient permissions for the requested operation. Check IAM policies or bucket policies.

  • Connection Errors:
    Messages about inability to connect to the endpoint suggest network issues or incorrect endpoint URLs.

  • JSON Parsing Errors:
    Many operations require JSON input for configurations (e.g., lifecycle rules, policies). Invalid JSON format will cause errors. Ensure JSON inputs are well-formed.

  • Unsupported HTTP Methods:
    When generating presigned URLs, only GET, PUT, and HEAD methods are supported.

Error Messages

  • "S3 operation failed: <message>"
    Generic failure message wrapping underlying AWS SDK errors.

  • "Invalid <configuration> JSON format"
    Thrown when JSON input parameters cannot be parsed.

  • "Unsupported method: <method>"
    When an unsupported HTTP method is used for presigned URL generation.

Resolution Tips

  • Double-check all required parameters are provided and correctly formatted.
  • Validate JSON inputs with external tools before pasting.
  • Confirm that the API key has necessary permissions for the chosen operation.
  • Use the node's credential test feature to verify connection and credentials.

Links and References


Summary for Resource: Default, Operation: Delete Bucket Analytics

What it does

Deletes an existing analytics configuration from a specified S3 bucket using the provided configuration ID.

Input Properties

Name Meaning
Bucket Name Name of the S3 bucket to delete analytics configuration from.
Configuration ID Identifier of the analytics configuration to delete.

Output

Returns a JSON object confirming deletion with fields:

  • bucket: The bucket name.
  • configurationId: The deleted configuration ID.
  • message: Confirmation message ("Bucket analytics deleted successfully").
  • operation: The operation name (deleteBucketAnalytics).
  • timestamp: Execution time.
  • success: true if successful.

Dependencies

Requires valid S3 credentials with permission to delete analytics configurations on the target bucket.

Troubleshooting

  • Ensure the bucket exists and the configuration ID is correct.
  • Verify permissions allow deleting analytics configurations.
  • Handle JSON parsing errors if configuration ID is malformed.

If you need summaries for other operations or resources, please specify.

Discussion