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 services. It supports a wide range of bucket and object management features, including creating buckets, uploading and downloading objects, managing access control lists (ACLs), configuring bucket policies, lifecycle rules, encryption, CORS, versioning, logging, notifications, replication, multipart uploads, and more.
The "Put Bucket Encryption" operation specifically allows users to set or update the server-side encryption configuration on an existing S3 bucket. This is useful for enforcing data-at-rest encryption policies to enhance security compliance.
Common scenarios where this node is beneficial:
- Automating bucket and object management tasks in workflows.
- Enforcing encryption policies on buckets to protect sensitive data.
- Managing complex bucket configurations such as lifecycle, replication, and analytics.
- Handling large file uploads via multipart upload support.
- Generating presigned URLs for secure temporary access to objects without exposing credentials.
Practical example for Put Bucket Encryption:
- A user wants to ensure that all objects stored in a specific bucket are encrypted using AES256 server-side encryption. They configure the encryption rules as JSON and use this node's "Put Bucket Encryption" operation to apply the settings programmatically.
Properties
| Name | Meaning |
|---|---|
| Bucket Name | The name of the S3 bucket on which to set the encryption configuration. |
| Encryption Configuration | The server-side encryption configuration expressed as a JSON object. Example: json { "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256" } } ] } |
Output
The output JSON contains the following fields:
bucket: The name of the bucket on which encryption was configured.encryptionConfiguration: The encryption configuration object that was applied (parsed from the input JSON).message: Confirmation message indicating successful update, e.g., "Bucket encryption updated successfully".operation: The operation performed, here it will be"putBucketEncryption".timestamp: ISO string timestamp when the operation was executed.success: Boolean indicating if the operation succeeded (true).
No binary data is output by this operation.
Dependencies
- Requires valid credentials for an S3-compatible service with permissions to modify bucket encryption settings.
- Uses AWS SDK for JavaScript v3 under the hood.
- Requires n8n credentials configured with access key ID, secret access key, region, and optionally endpoint and session token for custom S3-compatible endpoints.
- No additional environment variables are required beyond standard credential setup.
Troubleshooting
Common issues:
- Invalid encryption configuration JSON: If the provided encryption configuration JSON is malformed, the node throws an error indicating invalid JSON format. Ensure the JSON is correctly structured.
- Access denied errors: Insufficient permissions to modify bucket encryption will cause access denied errors. Verify that the API key used has the necessary IAM permissions.
- Bucket not found: Specifying a non-existent bucket name will result in an error. Confirm the bucket exists before applying encryption.
- Network or endpoint errors: Incorrect endpoint URLs or network connectivity issues can cause connection failures.
Error messages and resolutions:
"Invalid encryption configuration JSON format": Check and correct the JSON syntax in the encryption configuration property."Access denied. Check your credentials and permissions.": Ensure the credentials have permission to performPutBucketEncryptionon the specified bucket."S3 operation failed: <error message>": General catch-all for AWS SDK errors; inspect the detailed message for clues."Cannot connect to endpoint. Check your endpoint URL and network connection.": Verify the endpoint URL and network accessibility.
Links and References
- AWS S3 PutBucketEncryption API Reference
- AWS S3 Server-Side Encryption Overview
- AWS SDK for JavaScript v3 - S3 Client
If you need details about other operations or resources, feel free to ask!