Доступ к виртуальному хосту в стиле Bucket устарел?(AWS S3) - PullRequest
0 голосов
/ 26 сентября 2019

Не уверен, что это лучшее место для публикации этого вопроса, пожалуйста, перенаправьте меня, если это не так, я удалю сообщение и отправлю его в правильное место.

Я знаю, что недавно amazon s3 изменил их URL при доступе к файлам.Раньше это было что-то вроде http://s3.amazonaws.com/<bucket> или http://s3.<region>.amazonaws.com/<bucket>

Но в http://<bucket>.s3-<aws-region>.amazonaws.com или http://<bucket>.s3.amazonaws.com произошли изменения, потому что эта документация https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro http://<bucket>.s3.amazonaws.com не будет доступна после20 марта 2019 года, НО, когда я использую aws-sdk в javascript для загрузки файла с skipper-better-s3 URL-адрес, который я получаю в ответ от aws, равен http://<bucket>.s3.amazonaws.com/<Key>

Если этот URL-адрес не должен бытьдостижимо, почему бы aws вернуть такой URL?(Я все еще могу получить доступ к файлу, используя URL-адрес)

Если этот URL-адрес не предполагается достичь в ближайшем будущем, я должен добавить сам region или изменить URL-адрес самостоятельно вместо использованияURL, возвращенный aws?

Или это может быть проблема моего кода?Ниже мой код для загрузки

        const awsOptions = {  // these fields are different because this uses skipper
            adapter: require('skipper-better-s3'),
            key: aws_access_key,
            secret: aws_secret_key,
            saveAs: PATH,
            bucket: BUCKET,
            s3params: {
                ACL: 'public-read'
            },
        }


        const fieldName = req._fileparser.upstreams[0].fieldName;
        req.file(fieldName).upload(awsOptions, (err, filesUploaded) => {
            if (err) reject(err);
            const filesUploadedF = filesUploaded[0]; // F = first file
            const url = filesUploadedF.extra.Location; // image url -> https://<bucket>.s3.amazonaws.com/<Key>
            console.log(url, 'urlurlurl');
        });

filesUploadedF вернется

UploadedFileMetadata {
  fd: '<Key>',
  size: 4337,
  type: 'image/png',
  filename: 'filename.png',
  status: 'bufferingOrWriting',
  field: 'image',
  extra: 
   { ETag: '111111111111111111111',
     Location: 'https://<bucket>.s3.amazonaws.com/<Key>',
     key: '<key>',
     Key: '<Key>',
     Bucket: '<Bucket>',
     md5: '32890jf32890jf0892j3f',
     fd: '<Key>',
     ContentType: 'image/png' }
}

1 Ответ

0 голосов
/ 26 сентября 2019

Документация , которую вы связали с для именования в стиле http://<bucket>.s3.amazonaws.com, гласит:

Примечание

Корзины, созданные в регионах, запущеныпосле 20 марта 2019 г. недоступны по схеме именования https://bucket.s3.amazonaws.com.

Формулировка там важна.Они говорят только о новых регионах , введенных в действие после 20 марта 2019 года.

На сегодняшний день это только области, созданные в регионах Ближнего Востока (Бахрейн) и Азиатско-Тихоокеанского региона (Гонконг).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...