1

web.pyを使用してWebサービスを構築しており、S3を使用してファイルを保存しています。私のWebサービスの一部には、ユーザーのローカルフォルダー内のファイルのリストを取得し、現在アップロードされているファイルと比較する「commit」メソッド(SVN / Gitのメソッドと同様)があります(md5ハッシュによりローカルファイル、およびリモートファイルのハッシュのデータベースレコードを保持します)。次に、クライアントは最後の「コミット」以降に追加または変更されたファイルをzipし、このzipをサーバーにアップロードします。次に、サーバーはこれを解凍し、ファイルを本来あるべき場所に配置して、新しいハッシュでデータベースを更新します。

ただし、これをスケーラブルなWebサービスにしたいので、大規模なzipアーカイブの処理が問題になります。私は2つの可能なアプローチを考えました:

  1. ファイルを一度に1つずつ処理します。サーバーは、最後のファイルがアップロードされたときに各ファイルを要求します。
  2. サーバーをバイパスして、ユーザーがS3に直接アップロードできるようにする方法を見つけてください。ただし、ユーザーは引き続き私のサーバーで認証される必要があります。

私はWebサービスに非常に慣れていないので、アドバイスをいただければ幸いです。言うまでもなく、これらのトランザクションは、メモリと処理時間の点で可能な限り安価である必要があります。

4

0 に答える 0