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 ap
I had a similar issue when trying to load the config file from anywhere other than the root directory.
I was able to load the json file natively in node, then just pass the object that was parsed to AWS.config.update()
import AWS from 'aws-sdk'
import config from '../aws.json'
AWS.config.update(config);
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 hardcoding your params and see if you get the error again :
AWS.config.update({
accessKeyId: "YOURKEY",
secretAccessKey: "YOURSECRET",
"region": "sa-east-1" <- If you want send something to your bucket, you need take off this settings, because the S3 are global.
}); // for simplicity. In prod, use loadConfigFromFile, or env variables
var s3 = new AWS.S3();
var params = {
Bucket: 'makersquest',
Key: 'mykey.txt',
Body: "HelloWorld"
};
s3.putObject(params, function (err, res) {
if (perr) {
console.log("Error uploading data: ", err);
} else {
console.log("Successfully uploaded data to myBucket/myKey");
}
});
Good resource here
Try changing the user in my aws config file from a specific user to [default].
$nano .aws/credentials
[default]
aws_access_key_id = xyz
aws_secret_access_key = xyz
If you do not have this file, create it and get your keys or generate new one from aws iam user keys.
I tried above option and even that did not work, so I created new config object and this below code worked
AWS.config = new AWS.Config();
AWS.config.accessKeyId = "AccessKey";
AWS.config.secretAccessKey = "SecretAccessKey";
I had the same problem until I reversed the two lines:
var s3 = new AWS.S3();
AWS.config.loadFromPath('./AwsConfig.json');
to this:
AWS.config.loadFromPath('./AwsConfig.json');
var s3 = new AWS.S3();