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
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
- AWS S3 Inventory Configuration Documentation
- AWS SDK for JavaScript v3 - PutBucketInventoryConfigurationCommand
- n8n Documentation - Creating Custom Nodes
If you need further details about other operations or resources, feel free to ask!