Tôi hiện đang sử dụng plugin node.js có tên s3-upload-stream để truyền các tệp rất lớn lên Amazon S3. Nó sử dụng API nhiều phần và về phần lớn, nó hoạt động rất tốt.
Tuy nhiên, mô-đun này đang hiển thị tuổi của nó và tôi đã phải sửa đổi nó (tác giả cũng đã không dùng nó nữa). Hôm nay tôi gặp phải một vấn đề khác với Amazon và tôi thực sự muốn nghe theo đề xuất của tác giả và bắt đầu sử dụng aws-sdk chính thức để hoàn thành tải lên của mình.
NHƯNG.
SDK chính thức dường như không hỗ trợ đường ống đến s3.upload()
. Bản chất của s3.upload là bạn phải truyền luồng có thể đọc được làm đối số cho hàm tạo S3.
Tôi có khoảng 120+ mô-đun mã người dùng thực hiện nhiều quá trình xử lý tệp khác nhau và chúng không xác định được đích cuối cùng của đầu ra. Động cơ cung cấp cho chúng một luồng đầu ra có thể ghi được có thể ghi được và chúng chuyển tới đó. Tôi không thể đưa cho họ một AWS.S3
đối tượng và yêu cầu họ gọi upload()
nó mà không thêm mã vào tất cả các mô-đun. Lý do tôi sử dụng s3-upload-stream
là vì nó hỗ trợ đường ống.
Có cách nào để tạo aws-sdk s3.upload()
thứ gì đó mà tôi có thể truyền trực tuyến đến không?