The HTTP node isn’t picking up the AWS Lambda credentials. I configured credentials by attaching a policy directly to the IAM user, generating access keys and using them in the predefined credentials. The AWS Lambda node works fine. I want to use the HTTP node because it supports batching and concurrent executions, which the Lambda node doesn’t.
I have had the same issue before but I “fixed” that by not using authentication at all and now I want to use authentication.
Is there any subpaths / endpoints the URL should be formatted with? Usually you don’t just post to a raw URL but a specific endpoint. But I am not hyper familiar with AWS lambda, if that is a function, then maybe there aren’t any additional url paths.
I have worked with aws lambda before and I am pretty sure the url is correct. That is why it says unauthorized. The credentials also cannot be wrong as they are listing the function names correctly. I highly suspect that https node is not including the AWS predefined credentials in it.
your advice misses the fundamental point AWS doesn’t takes a simple bearer or basic auth header at Lambda and the HTTP node in n8n is not automatically picking up or applying AWS access keys, only the dedicated AWS Lambda node (which i believe uses the AWS SDK under the hood) does
AWS Lambda’s HTTPS API requires AWS Signature Version 4, not a bearer token. When we use the AWS Lambda node in n8n, it internally takes access key and secret, builds the request, computes the HMAC‐SHA256 signature and then sends it. I recommend you read this link:
or for more easy explaination:
The requests have clear X-Amz-* headers which i cannot see in the https node raw request output in the console. The only other option i can think of is using subworkflows but since there could be potentially 100s of requests I really want to avoid it. Https node is quite versatile and handles everything we can think of but in this case I am unable to understand what I am doing wrong.
To be honest, I haven’t personally dealt with X-Amz-* headers or AWS_IAM auth directly in this context, so I can’t say for sure whether it’s a bug.
But if you suspect it is, I’d definitely suggest opening a GitHub issue!
As for built-in batching AWS Lambda node, I think that’s a solid idea.
There are plenty of use cases where batching could be really useful, so it’s worth submitting a feature request as well Feature Requests