В даний час я використовую плагін node.js, який називається s3-upload-stream, щоб передавати дуже великі файли на Amazon S3. Він використовує багаточастинний API, і здебільшого він працює дуже добре.
Однак цей модуль показує свій вік, і мені вже довелося його модифікувати (автор його також не підтримував). Сьогодні я зіткнувся з черговою проблемою з Amazon, і я б дуже хотів скористатися рекомендацією автора і почати використовувати офіційний aws-sdk для здійснення своїх завантажень.
АЛЕ.
Офіційний SDK, схоже, не підтримує конвеєр s3.upload()
. Природа s3.upload полягає в тому, що вам потрібно передати читабельний потік як аргумент конструктору S3.
У мене є приблизно 120+ модулів коду користувача, які виконують різну обробку файлів, і вони є агностичними для кінцевого пункту призначення своїх результатів. Двигун передає їм трубопровідний вихідний потік, і вони подають його до нього. Я не можу вручити їм AWS.S3
об’єкт і попросити його викликати upload()
його, не додаючи код до всіх модулів. Причиною, яку я використав, s3-upload-stream
було те, що вона підтримувала трубопроводи.
Чи є спосіб зробити aws-sdk тим, до s3.upload()
чого я можу направити потік?