2

S3バケットに特定のキーパターンに一致するオブジェクトがあるかどうかを確認するためのScalaまたはJavaプログラムからの良い方法は何ですか? つまり、「CsvBucket」という名前のバケットがある場合、キーが「processed/files/2015/8/*.csv」というパターンに一致するオブジェクトが含まれているかどうかを確認するにはどうすればよいですか?

ありがとう

4

2 に答える 2

2

S3 オブジェクト キーは単なるStrings であるため、それらを繰り返し処理し、正規表現を使用してそれぞれをテストできます。おそらく次のようなものです(jets3tライブラリを使用):

Pattern pattern = Pattern.compile(".*\\.csv");
// 'service' is an instance of S3Service
S3Bucket bucket = service.getBucket(bucketName);
S3Object[] files = service.listObjects(bucket, "processed/files/2015/8", null);
for (int i = 0; i < files.length; i++)
{
    if (pattern.matches(files[i].getKey()))
    {
        // ... work with the file ...
    }
}
于 2015-09-04T21:38:06.420 に答える