When I try a simple spaces upload using the aws -sdk I keep getting the error: ‘InvalidAccessKeyId: null’,
here is the code with my secret key redacted:
const AWS = require(‘aws-sdk’); const fs = require(‘fs’);
const publicKey = ‘AKIAIEPGV5ULZ34YOZPA’; const secretKey = ‘redacted’;
AWS.config.update({region: ‘nyc3’, accessKeyId: publicKey, secretAccessKey: secretKey});
let spacesEndpoint = new AWS.Endpoint(‘nyc3.digitaloceanspaces.com’); let s3 = new AWS.S3({ endpoint: spacesEndpoint, region: ‘nyc3’, params: { Bucket: ‘packix’, ContentType: ‘application/x-debian-package’, ACL: ‘private’ } });
let testParams = { Key: ‘packix_test_deb’ };
let debStream = fs.createReadStream(‘test.deb’); testParams[‘Body’] = debStream;
s3.upload(testParams) .on(‘httpUploadProgress’, function(evt) { console.log(evt); }) .send(function(err, data) { console.log(err, data) });
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
Try setting the accessKeyId and secretAccessKey in the constructor of the S3 object.
The above is working for me.
As a sidenote, I stumbled across this question when I accidentally created a new access token rather than access key.