0

C#ロジックを使用して、特別な形式の大きなファイル(数TB)を生成し、それをS3に永続化します。これを行うための最良の方法は何ですか。EC2でノードを起動し、大きなファイルをEBSに書き込んでから、S3.netClinentライブラリを使用してEBSからS3にファイルをアップロードできます。

コードで生成しているときにファイルコンテンツをストリーミングし、そのような大きなファイルとメモリ不足の問題に対して特別に生成が行われるまで、S3に直接ストリーミングできますか?このコードはストリームに役立ちますが、ストリームはすでにいっぱいになっているはずです。私は明らかにそのような大量のデータをメモリに保存することはできず、最初にファイルとしてディスクに保存したくありません。

PutObjectRequest request = new PutObjectRequest();
        request.WithBucketName(BUCKET_NAME);
        request.WithKey(S3_KEY);
        request.WithInputStream(ms);
        s3Client.PutObject(request);

この大きなファイルを生成し、生成中にS3にストリーミングするための最善の策は何ですか?

4

1 に答える 1

1

確かに、制限である5TBまでのファイルをアップロードできます。ストリーミングおよびマルチパートプット操作を使用することをお勧めします。1TBのファイルのアップロードは、プロセスで簡単に失敗する可能性があり、ファイルを保存するときに、すべてをやり直して、部分に分割する必要があります。また、ファイルを変更する必要がある場合は、ファイルをダウンロードし、ファイルを変更して再アップロードする必要があることに注意してください。ファイルを変更する予定がある場合は、ファイルを小さなファイルに分割することをお勧めします。

http://docs.amazonwebservices.com/AmazonS3/latest/dev/UploadingObjects.html

于 2012-07-09T14:46:23.037 に答える