Я реализовал загрузку файла в корзину Amazon s3, как показано ниже, и она отлично работает:
const S3 = require('aws-sdk/clients/s3');
const AWS = require('aws-sdk');
const accessKeyId = 'AKIAYVXDX*******';
const secretAccessKey = 'gxZpdSDnOfpM*****************';
const s3 = new S3({
region: 'us-east-1',
accessKeyId,
secretAccessKey
});
s3.putObject({
Body: 'Hello World',
Bucket: "dev-amazon",
Key: 'hello.txt'
}
, (err, data) => {
if (err) {
console.log(err);
}
});
И мне нужно реализовать загрузку файла в корзину Wasabi.
Я пытался, как показано ниже:
const S3 = require('aws-sdk/clients/s3');
const AWS = require('aws-sdk');
const wasabiEndpoint = new AWS.Endpoint('s3.wasabisys.com');
const accessKeyId = 'PEIL4DYOY*******';
const secretAccessKey = 'D4jIz3tjJw*****************';
const s3 = new S3({
endpoint: wasabiEndpoint,
region: 'us-east-2',
accessKeyId,
secretAccessKey
});
s3.putObject({
Body: 'Hello World',
Bucket: "dev-wasabi",
Key: 'hello.txt'
}
, (err, data) => {
if (err) {
console.log(err);
}
});
И результат `console.log (err) таков:
err {" message ":" Рассчитанная нами подпись запроса не соответствует предоставленной вами подписи. Проверьте свой ключ и метод подписи. "," Code ":" SignatureDoesNotMatch "," region ": null," time ":" 2019-10-30T09: 39: 19.072Z "," requestId ": null," statusCode ":403, «retryable»: false, «retryDelay»: 64.72166771381391}
Ошибка консоли в devtools:
PUT https://dev -wasabi.s3.us-east-2.wasabisys.com/5efa9b286821fab7df3ece8dc3d6687ed32 403 (запрещено)
Что не так в моих кодах?