2

自動更新ソリューションに取り組んでおり、配信には Amazon S3 を使用しています。

これが次のように機能することを望みます。

  1. ファイルをs3フォルダーにアップロードします
  2. 自動 PHP スクリプトは、新しいファイルが追加されたことを検出し、クライアントに通知します

これを行うには、何らかの形で Amazon バケットのフォルダー内のすべてのファイルを一覧表示し、最後に追加されたファイルを見つける必要があります。

を試しまし$s3->list_objects("mybucket");たが、バケット内のすべてのオブジェクトのリストが返され、指定したフォルダー内のファイルのみをリストするオプションが表示されません。

Amazon S3 PHP API を使用してこれを行う最善の方法は何ですか?

4

2 に答える 2

1

これを行うには、何らかの形で Amazon バケットのフォルダー内のすべてのファイルを一覧表示し、最後に追加されたファイルを見つける必要があります。

S3 の API は実際には変更日による並べ替え用に最適化されていないためlist_buckets()、リストの最後に到達するまで常に最新のものを追跡しながら、各タイムスタンプを呼び出して確認する必要があります。

自動 PHP スクリプトは、新しいファイルが追加されたことを検出し、クライアントに通知します

次で始まる長時間実行される PHP CLI スクリプトを作成する必要があります。

while (true) { /*...*/ }

sleep(1)CPU の使用率がそれほど高くならないように、ときどきそこに投入することもできますが、基本的にはスリープしてポーリングし、毎回すべてのタイムスタンプをループする必要があります。

$s3->list_objects("mybucket"); を試しましたが、バケット内のすべてのオブジェクトのリストが返され、指定したフォルダー内のファイルのみを一覧表示するオプションが表示されません。

prefix呼び出しでパラメーターを設定する必要がありますlist_objects()

于 2012-10-05T07:13:34.013 に答える