NodeApiError: UNKNOWN ERROR - check the detailed error for more information
at Object.awsApiRequest (/usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/Aws/S3/GenericFunctions.js:27:15)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Object.awsApiRequestSOAP (/usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/Aws/S3/GenericFunctions.js:42:22)
at async Object.execute (/usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/Aws/S3/AwsS3.node.js:249:40)
at async Workflow.runNode (/usr/local/lib/node_modules/n8n/node_modules/n8n-workflow/dist/Workflow.js:658:28)
at async /usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/WorkflowExecute.js:585:53
Please share the workflow
(Select the nodes and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow respectively)
Share the output returned by the last node
Information on your n8n setup
n8n version: 0.202.1
Database you’re using (default: SQLite):
Running n8n with the execution process [own(default), main]: own
Running n8n via [Docker, npm, n8n.cloud, desktop app]: Docker
The default N8N AWS S3 node failed to upload to that bucket. Then I looked into the implementation of that node on Github and it seems that SOAP is the default. Therefore, it fails. It’s the mix bag of this client S3 bucket not allowing SOAP, and the N8N S3 node only uses SOAP by default.
That’s why it will be nice for that N8N S3 node to give a choice whether it calls S3 on SOAP or REST.
Hi @steven.n.t, thanks for clarifying! Tbh, I am not sure about our future plans with regards to this node (maybe @sirdavidoff can share more information here), but I shall add this to our engineering backlog for a closer look.
I was just looking into this and seeing if we can provide a more useful error message but when checking the S3 documentation and the settings in the UI I can’t actually see an option to disable SOAP API access to a bucket, Do you happen to know where this setting is or what the ACL name is so I can reproduce the problem?
From what I can see on the Amazon side though at the moment SOAP is still useable over HTTPS it just won’t be getting new features so we should really look at updating it but for now I want to work on displaying a notice to let users know that it could be because SOAP is not enabled for the bucket.