私は現在、s3-upload-streamと呼ばれるnode.jsプラグインを使用して、非常に大きなファイルをAmazonS3にストリーミングしています。マルチパートAPIを使用し、ほとんどの場合、非常にうまく機能します。
ただし、このモジュールはその年齢を示しており、私はすでにモジュールに変更を加える必要がありました(作成者も非推奨にしています)。今日、私はAmazonで別の問題に遭遇しました。著者の推奨を受け入れ、公式のaws-sdkを使用してアップロードを実行したいと思います。
だが。
公式SDKはへのパイプをサポートしていないようですs3.upload()
。s3.uploadの性質は、読み取り可能なストリームを引数としてS3コンストラクターに渡す必要があることです。
さまざまなファイル処理を行う約120以上のユーザーコードモジュールがあり、それらは出力の最終的な宛先に依存しません。エンジンはそれらにパイプ可能な書き込み可能な出力ストリームを渡し、それらはそれにパイプします。すべてのモジュールにコードを追加せずに、AWS.S3
オブジェクトを渡して呼び出すように依頼することはできませんupload()
。s3-upload-stream
配管に対応しているので使用しました。
aws-sdkをs3.upload()
ストリームをパイプできるものにする方法はありますか?