私は例えば、パブリックネットワークからファイルをコピーしたい:私のS3バケットに http://myvideo.com/porn/tca-333.mp4 : さんが言わせて: S3://mypublicstorage.example.com/porn/tca-333.mp4 は、AWSラムダを使用。AWS lambdaをnodejsで使用して、パブリックネットワークからaws s3にファイルをコピーする方法は?
問題は、ビデオは2〜10GBのようにかなり大きなサイズになる可能性があります。 スーパーエージェントのようなリクエストライブラリを使ってフェッチするのであれば、そのすべてはおそらくRAMに格納されるため、十分ではありません。
AWS Lambda自体には、500キロバイトのMBディスクiircだけの制限があります。 AWS Lambdaがこの作業をやっても結構ですか?
request.get(srcUrl).then(resp => S3.putObject({Body: resp.body, ...}))
どんな提案:
私の現在のコードは、多かれ少なかれ、何かに似ていますか?
一時ファイルをディスクに書き込む代わりに、インメモリストリームを利用してAWS Lambdaでこれを行うことができます。実際にはあなたの現在のコードがしているように見えます。ラムダでそのコードを実行しようとしてもうまくいきましたか? –
はい、私はラムダで512 MBのRAMを使ってやろうとしましたが、このエラーが発生しました。 エラー:最大応答サイズはSocket.emitの誤差で (ネイティブ) ... ... に達し(events.js:188:7)コード: 'ETOOLARGE'、応答:未定義} さらに読め「ストリーム」のものから{Writable}を使って行うことがサポートされているようです。 、S3.putObjectsの代わりにS3.multipartUploadを使用します。 本当にそれをsuoededていないtho。 – Ramadoka