#javascript #node.js #amazon-s3
Вопрос:
Я новичок в AWS, и у меня есть 2 вопроса:
- Я использую URL-адрес Presign для создания URL-адреса для видео, он отлично работает. Но когда я помещаю URL-адрес видео на другой веб-сайт, он отображается нормально. Я хочу, чтобы он работал только в моем домене. Я установил конфигурацию CORS таким образом, но она не поддерживает URL-адрес Presign, она работает только для изображений и других типов.
настройки ведра, подобные этому
- Я переношу файлы с другого веб-сайта на S3, мне нужно установить мету управления кэшем для каждого файла. У меня есть код, как показано ниже, но он не работает. Есть ли какой-либо способ установить правило, которое применяется ко всем загруженным файлам в S3, оно автоматически обновит метаданные?
// передача видео в S3 экспорт const transferVideoToS3 = (Видео, имя файла, обратный вызов) => { запрос({ url: видео, кодировка: null }, функция (ошибка, разрешение, тело) { если (ошибка) обратный вызов(ошибка, разрешение);
s3.upload({ Bucket: 'myvideos', Key: `public/videos/${filename}.mp4`, cacheControl: 'max-age=604800', ContentType: res.headers['content-type'], ContentLength: res.headers['content-length'], Body: body // buffer }, callback) })
}
Спасибо за помощь
Ответ №1:
Я предполагаю, что это может быть достигнуто с помощью следующих настроек
GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName, path)
.withMethod(HttpMethod.PUT).withExpiration(expiration);
generatePresignedUrlRequest.addRequestParameter("cache-control","max-age=604800,public");