2016-05-29 64 views
0

以前にS3バケットからフェッチしていないファイルのみを取得したいとします。ファイル名が必要なので、各繰り返しでどのファイルを扱うべきか分かります。S3バケットで最新ファイルを取得する

私は今のところキューリスナーを実装したくないと判断しました。そのため、通知は私が望むものではありません。

私はdownloadBucket APIを使用して「デバッグ」をオンにして、結果を解析してダウンロードされたファイルを見つけることを検討しました。

誰かがより良い方法を知っていますか、またはデバッグをオンにするとパフォーマンスに影響しますか?

私はこれを実装するためにlaravel/phpを使用しています。

+1

私はS3が単なる裸のストレージなので、S3だけでこれを行うのは本当に簡単な方法ではないと思います。 – markvdlaan93

+0

* "今はキューリスナーを実装したくないと決めました" *これが実際には最適な解決策であると考えて、どうしてですか? –

+0

@ Michael-sqlbot a)リスナーを実装する必要があります。 b)2つのシステムを同じディレクトリに配置する必要がある場合 - 2つのキューを持つ可能性がありますが、これは自分の努力によって拡大できません。これは高価です。 – NiRR

答えて

0

S3には、list_objectsのフィルタ機能がありません。あなたができる最良のことは、ファイルを新しいバケットまたは接頭辞に処理したことです。したがって、どのキーが「処理済み」であるか心配する必要はありません。すべての1000年PUT/COPY/POST/LISTあなた0.005セントの費用がかかります。

したがって、あなたは、この(アルゴリズム、ないコード)

- store new_key to new/ folder 
    - select everything in new/ prefix 
    - process each key 
    - copy key to proceesed/ prefix 
    - delete key in new/ prefix 

注行うことができます。だから控えめに使用してください。

関連する問題