В нашей повседневной жизни как разработчика мы сталкиваемся со многими проблемами. Наша жизнь состоит из решения этих маленьких проблем.
Вы бы использовали Amazon S3
для хранения файлов (изображений, видео, документов и т. д.) для своего приложения в какой-то момент своей жизни.
Сегодня в этой статье мы собираемся обсудить загрузку файла с Amazon S3.
Что такое Amazon S3:
Согласно документации Amazon S3,
Amazon Simple Storage Service (Amazon S3) — это сервис хранения объектов, предлагающий лучшую в отрасли масштабируемость, доступность данных, безопасность и производительность. Клиенты всех размеров и отраслей могут хранить и защищать любые объемы данных практически для любого варианта использования, например озер данных, облачных приложений и мобильных приложений. Благодаря экономичным классам хранения и простым в использовании функциям управления вы можете оптимизировать затраты, упорядочивать данные и настраивать точно настроенные элементы управления доступом в соответствии с конкретными бизнес-требованиями, организационными требованиями и требованиями соответствия.
Это отличный и простой способ хранения больших файлов для вашего приложения.
Что такое предварительно подписанный URL-адрес Amazon S3?
Когда мы хотим получить доступ к файлу в Amazon S3, нам нужно войти в AWS, и мы сможем просмотреть файл.
Что, если мы хотим, чтобы к файлу мог получить доступ любой пользователь в Интернете? Мы можем сделать это, создав предварительно подписанный URL.
Предварительно подписанный URL-адрес файла Amazon S3 — это не что иное, как URL-адрес, который содержит дополнительные параметры, чтобы любой пользователь в Интернете мог легко загрузить этот файл без проблем.
Вот пример предварительно подписанного URL:
Как вы можете видеть в приведенном выше примере, к URL-адресу прикреплено несколько дополнительных параметров, таких как X-Amz-Algorithm, X-Amz-Credential, X-Amz-Date, X-Amz-Expires, X-Amz-Signature. , X-Amz-SignedHeaders, который помогает без проблем загрузить файл.
Как скачать этот файл?
Теперь у вас есть предварительно подписанный URL-адрес Amazon S3, и вы можете легко загрузить файл программно.
Используйте этот код для загрузки файла:
function downloadFile(presignedUrl, fileName) { const link = document.createElement("a"); link.href = presignedUrl; link.download = fileName; link.target = "_blank"; link.click(); }
Вот и все.
Что делать, если вы не хотите использовать предварительно подписанный URL-адрес?
Нет проблем, вы можете легко загрузить любой файл из Amazon S3 с помощью AWS SDK.
Ниже приведен пример:
import { GetObjectCommand, S3Client } from "@aws-sdk/client-s3"; const client = new S3Client({}) // Here credentials comes in picture export const main = async () => { const command = new GetObjectCommand({ Bucket: "bucket-1", Key: "hello-world.txt" }); try { const response = await client.send(command); const str = await response.Body.transformToString(); console.log(str); } catch (err) { console.error(err); } };
Этот приведенный выше код извлекает файл из корзины Amazon S3.
Вот и все.
Если вам понравилась эта статья, подписывайтесь на меня здесь, на Medium, чтобы получать больше историй о технологиях.
Будьте на шаг впереди! Подпишитесь на мою рассылку и получайте эксклюзивный контент, ценную информацию и последние обновления прямо на ваш почтовый ящик. Я также веду обширные блоги на FrontendRoom.
Дополнительные материалы на PlainEnglish.io.
Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .