Amazon S3には「クエリ」言語がありません。あなたができることは、ファイルをプレフィックスに整理し、その結果に基づいて結果を制限することです。例えば
S3であなたのオブジェクトがあることをした場合、:
など、接頭辞を使用しています。
しかし、S3内で特定の時間範囲を指定することはできません。特定の時間範囲に基づいて照会する場合は、毎日、毎月、毎年の結果を収集し、除外したいものを取り除く必要があります。例えば
あなたは12:01 10月29日と12:01 10月31日の間でオブジェクトを照会したい場合、あなたは次の接頭辞からオブジェクトを収集することができたい:
- 2016-10-29-
- 2016-10-30-
- 2916-10-31-
、手動でご希望の時間帯の前後の項目を削除します。
クエリをよりうまく実行したい場合は、クエリ用に設計されたデータベースを使用することをお勧めします。 SimpleDBが機能するかもしれません。 DynamoDBとSQLが動作します。あなたはS3にファイルをダンプし、そのオブジェクトのキーとタイムスタンプをデータベースに記録することができます。
クエリでは、dbから選択し、必要に応じてS3からファイルを取得します。
更新:例
は、あなたが細かくなどのファイルの束を持っていると仮定接頭辞を使用して:
2016-10-29-00-00.txt 2016-10-29-00 -01.txt 2016-10-29-00-02.txt ... 2016-10-30-00-00。TXT 2016-10-30-00-01.txt ... 2016-10-31-00-00.txt ... 2016-11-01-00-00.txt
そして、そうです。 =接頭辞「2016-」
は、2016年10月からすべてのファイルを取得するには:2016年からすべてのファイルを取得するには
はその代わりに、2つのオプションを持っています
- "2016-10-29-"
- "2016-10-30-"
- "2016-10-31-"
あなたはそのリストを持っていたら、あなたはそれらを組み合わせますあなたの希望する時間帯の前後からファイルを取り除くことができます。
オプション2:あなたは、そのリストを持っていたら、あなたはコンバインなり、再び
:接頭辞を使用して、日付範囲の各月のS3からオブジェクトを取得しますそれらのファイルを削除し、希望の時間範囲の前後にファイルを取り除きます。
あなたが選択するのは、検索に必要な区別された日の数が、検索で月に返されたオブジェクトの数と比較されます。
このロジックはかなり複雑になります。適切な検索可能なデータベースが価値があるかもしれません。
get_object_list()呼び出しを行うときに、PHP SDKにPRCE-Stringフィールドがあることがわかります。http://docs.aws.amazon.com/AWSSDKforPHP/latest/index.html#m=AmazonS3/get_object_list cant this検索のために? – HyperDevil
いいえ 'prce'はS3から返された結果をフィルタリングするために使用される正規表現です。それは「検索」ではない。それは文字列の比較です。それは時間の比較を行いません。 –
だから私はこのサービスのための別の "クエリ"データベースを作成しない場合、私は絶対にすべてのオブジェクトをリストし、私のアプリケーションを通して結果をフィルタリングする必要がありますか? – HyperDevil