AWS S3 Предопределенная ошибка URL - PullRequest
0 голосов
/ 04 июля 2018

Я создаю приложение для узла и у меня есть существующая учетная запись AWS с загруженными изображениями.

Это мой код, я следовал за документацией и некоторыми другими вопросами, которые были размещены здесь ранее:

const AWS = require('aws-sdk');

const s3 = new AWS.S3();
AWS.config.update({
  accessKeyId: 'string',
  secretAccessKey: 'string',
  region: 'string'
 });
const myBucket = 'string-bucket';
const myKey = 'file-name.png';
const signedUrlExpireSeconds = 60 * 5;

const params = { Bucket: 'string-bucket' };
s3.headBucket(params, function(err, data) {
  if (err) console.log('there is an error!!!!', err, err.stack);
  else     console.log('this is what i got', data);
});

const url = s3.getSignedUrl('getObject', {
  Bucket: myBucket,
  Key: myKey,
  Expires: signedUrlExpireSeconds
});

console.log(url);

Сначала он записал URL: https://s3.amazonaws.com/, только это, без каких-либо прикрепленных строк, и для корзины написано CredentialsError: Missing credentials in config.

Я не вижу, что мне не хватает, они правильные ключи (я их скопировал и вставил)

1 Ответ

0 голосов
/ 04 июля 2018

Проблема в том, что вы обновляете конфигурацию AWS после того, как вы инициализировали S3 SDK. Просто поместите следующий фрагмент выше const s3 = new AWS.S3();:

AWS.config.update({
  accessKeyId: 'string',
  secretAccessKey: 'string',
  region: 'string'
});

В итоге у вас должно получиться что-то вроде этого:

const AWS = require('aws-sdk');
AWS.config.update({
  accessKeyId: 'string',
  secretAccessKey: 'string',
  region: 'string'
});
const s3 = new AWS.S3();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...