Как получить предварительно подписанный URL-адрес с помощью AWS.ManagedUpload - PullRequest
0 голосов
/ 11 мая 2019

Я загружаю файл в AWS S3 с помощью AWS.S3.ManagedUpload.Все было просто, пока я не хочу получить предварительно подписанный URL для загруженного файла.

Я создаю AWS.S3.ManagedUpload и метод отправки огня.

   const params = {
        Bucket: process.env.S3_BUCKET_NAME,
        Key: fileKey,
        Body: fileStream,
      }

     const upload = new AWS.S3.ManagedUpload({ params })

      upload.send((err, data) => {
        if (err) {
          console.log(err)
        }
        // handle successful upload
      })
    }

В результате я получаю объект с несоленным URL.Так что он доступен только в том случае, если ведро общедоступно, чего я хочу избежать.

1 Ответ

0 голосов
/ 11 мая 2019

Я нашел простое решение.Вам нужно использовать AWS.S3.getSignedUrl, когда загрузка будет завершена.

upload.send((err, data) => {
  if (err) {
    // handle error 
  }
  const signedUrl = s3.getSignedUrl('getObject', params) 
  ...

Где параметры { Bucket, Key, Expires }

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