Hei!
I'm having this issue since yesterday, and I'm having trouble for find a solution.
I'm trying to send somethings to my S3 bucket, but this message appear in my console when i try:
{ [CredentialsError: Missing credentials in config]
message: 'Missing credentials in config',
code: 'CredentialsError',
errno: 'Unknown system errno 64',
syscall: 'connect',
time: Thu Oct 09 2014 14:03:56 GMT-0300 (BRT),
originalError:
{ message: 'Could not load credentials from any providers',
code: 'CredentialsError',
errno: 'Unknown system errno 64',
syscall: 'connect',
time: Thu Oct 09 2014 14:03:56 GMT-0300 (BRT),
originalError:
{ code: 'Unknown system errno 64',
errno: 'Unknown system errno 64',
syscall: 'connect',
message: 'connect Unknown system errno 64' } } }
And this is my code:
var s3 = new AWS.S3();
AWS.config.loadFromPath('./AwsConfig.json');
s3.putObject(params, function(err) {
if(err) {
console.log(err);
}
else {
console.log("Succes");
}
});
The credentials are correct. Does anyone know what can be? I've searching but I not find anywhere the solution.
My credentials(fake):
{
"accessKeyId": "BLALBLALBLALLBLALB",
"secretAccessKey": "BLABLALBLALBLALBLLALBLALLBLALB",
"region": "sa-east-1",
"apiVersions": {
"s3": "2006-03-01",
"ses": "2010-12-01"
}
}
EDIT:
For help, all the code:
var fs = require('fs');
var AWS = require('aws-sdk');
var s3 = new AWS.S3();
AWS.config.loadFromPath('./MYPATH.json'); //this is my path to the aws credentials.
var params = {
Bucket: 'testing-dev-2222',
Key: file,
Body: fs.createReadStream(file)
};
s3.putObject(params, function(err) {
if(err) {
console.log(err);
}
else {
console.log("Success");
}
});
New err:
Error uploading data: { [PermanentRedirect: The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.]
message: 'The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.',
code: 'PermanentRedirect',
time: Thu Oct 09 2014 14:50:02 GMT-0300 (BRT),
statusCode: 301,
retryable: false }
I had the same problem until I reversed the two lines:
to this:
This resolved my issue .
Used the sample code from the Cognito Console and added it to the of the document.
Enabled Unauthenticated access on the identity pool.
Most important
Fixed the Trust Relationship policy in the unauth role so the Cognito Service could assume the role.
Do not hard code credential in the file .
Try changing the user in my aws config file from a specific user to [default].
If you do not have this file, create it and get your keys or generate new one from aws iam user keys.
I was having the same error. But I found the issue. I was using wrong Environment variable name. From NodeJS to S3, I need to use the following variable names:
Once I corrected the variable names, it just ran fine. regards, Dipankar
Try hardcoding your params and see if you get the error again :
Good resource here
I tried above option and even that did not work, so I created new config object and this below code worked