0

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.

  • Are you sure the bucket name and region are correct ?. https://stackoverflow.com/questions/25027462/aws-s3-the-bucket-you-are-attempting-to-access-must-be-addressed-using-the-spec – mh377 Jul 04 '22 at 15:35
  • @mh377 Yes. Of course I checked. Downloads will work normally until the server is restarted. Restarting the server causes the problem. –  Jul 05 '22 at 00:44

0 Answers0