I am working on a project using nestjs
.
I want to upload and download files via aws s3
.
upload works fine, download works fine too.
const s3 = new AWS.S3();
AWS.config.update({
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
region: process.env.AWS_REGION,
});
const fileStream = await s3
.getObject(
{
Bucket: process.env.S3_BUCKET_NAME,
Key: keyValue,
},
function (error, data) {
if (error != null) {
console.log('Failed to retrieve an object: ' + error);
} else {
console.log('Loaded ' + data.ContentLength + ' bytes');
}
},
)
.createReadStream();
res.set({
'Content-Type': `${contentType};`,
'Content-Disposition':
'attachment; filename="' + encodeURI(fileName) + '"',
});
return new StreamableFile(fileStream);
But after restarting the server I get an error.
/Users/kun/Documents/workspace/myApp/node_modules/aws-sdk/lib/request.js:31
throw err;
^
PermanentRedirect: The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.
at Request.extractError (/Users/kun/Documents/workspace/myApp/node_modules/aws-sdk/lib/services/s3.js:711:35)
at Request.callListeners (/Users/kun/Documents/workspace/myApp/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
at Request.emit (/Users/kun/Documents/workspace/myApp/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
at Request.emit (/Users/kun/Documents/workspace/myApp/node_modules/aws-sdk/lib/request.js:686:14)
at Request.transition (/Users/kun/Documents/workspace/myApp/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/Users/kun/Documents/workspace/myApp/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /Users/kun/Documents/workspace/myApp/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (/Users/kun/Documents/workspace/myApp/node_modules/aws-sdk/lib/request.js:38:9)
at Request.<anonymous> (/Users/kun/Documents/workspace/myApp/node_modules/aws-sdk/lib/request.js:688:12)
at Request.callListeners (/Users/kun/Documents/workspace/myApp/node_modules/aws-sdk/lib/sequential_executor.js:116:18)
at Request.emit (/Users/kun/Documents/workspace/myApp/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
at Request.emit (/Users/kun/Documents/workspace/myApp/node_modules/aws-sdk/lib/request.js:686:14)
at Request.transition (/Users/kun/Documents/workspace/myApp/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/Users/kun/Documents/workspace/myApp/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /Users/kun/Documents/workspace/myApp/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (/Users/kun/Documents/workspace/myApp/node_modules/aws-sdk/lib/request.js:38:9) {
code: 'PermanentRedirect',
region: 'ap-northeast-2',
time: 2022-07-04T08:20:32.495Z,
requestId: 'MZ5V1R6YECY',
extendedRequestId: 'H1Q/Jr2Ljc9L45M+5kZ+EMnBKtl+R2g445+UCOeuLGWviw6gzbv/rp5bONDg=',
cfId: undefined,
statusCode: 301,
retryable: false,
retryDelay: 106.53593184379821
}
The above error occurs and the server is completely shut down.
Please tell me how to fix it.