N8N Tools - S3 Enhanced icon

N8N Tools - S3 Enhanced

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

Overview

This node provides enhanced operations for managing and interacting with S3-compatible object storage buckets and objects. It supports a wide range of bucket and object management tasks, including creating and deleting buckets, uploading and downloading objects, managing access control lists (ACLs), configuring bucket policies, lifecycle rules, CORS, versioning, logging, notifications, replication, encryption, website hosting, metrics, analytics, inventory configurations, multipart uploads, and more.

The "Put Bucket Inventory" operation specifically allows users to configure or update the inventory configuration of an S3 bucket. This is useful for setting up automated reports on the contents and metadata of objects in a bucket, which can be used for auditing, compliance, or data analysis purposes.

Common scenarios where this node is beneficial:

  • Automating bucket and object management workflows without writing custom code.
  • Setting up inventory reports on buckets to track object metadata and usage.
  • Managing complex bucket configurations such as lifecycle policies, replication, and encryption.
  • Handling large file uploads efficiently using multipart upload features.
  • Generating presigned URLs or POST forms for secure temporary access to objects.

Practical example for "Put Bucket Inventory":

A user wants to enable an inventory report on their S3 bucket that outputs CSV files to another destination bucket. They provide the bucket name, a unique configuration ID, and a JSON object describing the inventory configuration (including destination bucket ARN, format, and enabled status). The node updates the bucket's inventory settings accordingly.


Properties

Name Meaning
Bucket Name Name of the S3 bucket to operate on.
Configuration ID Identifier for the inventory configuration. Used to specify which inventory setup to create/update.
Inventory Configuration JSON object defining the inventory configuration details, such as whether it is enabled, destination bucket, output format, etc.

Example value for Inventory Configuration:

{
  "Id": "InventoryConfigurationId",
  "IsEnabled": true,
  "Destination": {
    "S3BucketDestination": {
      "Bucket": "arn:aws:s3:::destination-bucket",
      "Format": "CSV"
    }
  }
}

Output

The node outputs a JSON object containing:

  • bucket: The name of the bucket where the inventory configuration was applied.
  • configurationId: The ID of the inventory configuration.
  • inventoryConfiguration: The JSON object representing the inventory configuration that was set.
  • message: A confirmation message indicating successful update.
  • operation: The operation performed (putBucketInventory).
  • timestamp: ISO timestamp when the operation was executed.
  • success: Boolean indicating if the operation succeeded (true).

Example output JSON:

{
  "bucket": "my-bucket-name",
  "configurationId": "InventoryConfigurationId",
  "inventoryConfiguration": {
    "Id": "InventoryConfigurationId",
    "IsEnabled": true,
    "Destination": {
      "S3BucketDestination": {
        "Bucket": "arn:aws:s3:::destination-bucket",
        "Format": "CSV"
      }
    }
  },
  "message": "Bucket inventory updated successfully",
  "operation": "putBucketInventory",
  "timestamp": "2024-06-01T12:00:00.000Z",
  "success": true
}

Dependencies

  • Requires an S3-compatible storage service accessible via AWS SDK v3.
  • Requires credentials with sufficient permissions to modify bucket inventory configurations.
  • The node expects a configured credential providing access key, secret key, region, and optionally endpoint and session token.
  • No additional environment variables are required beyond standard n8n credential setup.

Troubleshooting

  • Invalid inventory configuration JSON format: If the provided inventory configuration JSON is malformed, the node throws an error. Ensure the JSON is valid and matches the expected structure for S3 inventory configurations.
  • Access denied or insufficient permissions: The API call to update the inventory configuration may fail if the credentials lack necessary permissions. Verify IAM policies or equivalent access controls.
  • Bucket not found or incorrect bucket name: Confirm the bucket name is correct and exists in the target S3 service.
  • Network or endpoint issues: If the node cannot connect to the S3 endpoint, check network connectivity and endpoint URL correctness.
  • General errors: The node returns detailed error messages; review them to identify specific issues.

Links and References


If you need further details about other operations or resources, feel free to ask!

Discussion