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
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, and configuration of bucket policies, notifications, lifecycle rules, and more.
This node is beneficial in scenarios where users need to automate or integrate complex S3 workflows without writing custom code. For example:
- Generating presigned URLs to allow temporary access to private objects.
- Uploading large files using multipart upload to improve reliability.
- Managing bucket configurations like CORS, lifecycle, encryption, and notifications programmatically.
- Copying or deleting objects within buckets.
- Querying object content using SQL expressions.
Specifically, the Put Bucket Notification operation allows setting or updating the notification configuration on an S3 bucket, enabling event-driven workflows triggered by bucket events (e.g., object creation).
Properties
| Name | Meaning |
|---|---|
| Bucket Name | Name of the S3 bucket where the operation will be performed. |
| Notification Configuration | JSON object defining the bucket's notification settings, e.g., topic configurations, queue configs. |
For the Put Bucket Notification operation, the relevant properties are:
| Name | Meaning |
|---|---|
| Bucket Name | The target S3 bucket to update the notification configuration. |
| Notification Configuration | A JSON string representing the notification configuration. Example: {"TopicConfigurations":[{"Id":"id1","TopicArn":"arn:aws:sns:us-east-1:123456789012:topic","Events":["s3:ObjectCreated:*"]}]} |
Output
The output JSON object for the Put Bucket Notification operation includes:
bucket: The name of the bucket updated.notificationConfiguration: The parsed JSON object of the notification configuration that was applied.message: Confirmation message indicating successful update, e.g.,"Bucket notification updated successfully".operation: The operation name (putBucketNotification).timestamp: ISO timestamp when the operation was executed.success: Boolean flag indicating success (true).
Example output JSON snippet:
{
"bucket": "my-bucket-name",
"notificationConfiguration": {
"TopicConfigurations": [
{
"Id": "id1",
"TopicArn": "arn:aws:sns:us-east-1:123456789012:topic",
"Events": ["s3:ObjectCreated:*"]
}
]
},
"message": "Bucket notification updated successfully",
"operation": "putBucketNotification",
"timestamp": "2024-06-01T12:00:00.000Z",
"success": true
}
The node does not output binary data for this operation.
Dependencies
- Requires an S3-compatible service endpoint with valid credentials (access key ID, secret access key, optional session token).
- The node uses AWS SDK v3 clients internally to communicate with the S3 API.
- Proper permissions must be granted to the credentials used to modify bucket notification configurations.
- No additional environment variables are required beyond the configured credentials.
Troubleshooting
- Invalid JSON format: If the notification configuration JSON is malformed, the node throws an error
"Invalid notification configuration JSON format". Ensure the JSON is correctly formatted before input. - Access Denied: If the credentials lack permission to put bucket notification, the node will throw an access denied error. Verify IAM policies or equivalent permissions.
- Bucket Not Found: If the specified bucket does not exist or is inaccessible, the operation will fail. Confirm the bucket name and region.
- Network/Endpoint Issues: Connection errors may occur if the endpoint URL is incorrect or unreachable.
- General Errors: Other AWS SDK errors will be surfaced with their messages; review these for troubleshooting.
If the node is set to continue on failure, errors will be returned in the output JSON with success: false and an error message.