S3バケットに特定のキーパターンに一致するオブジェクトがあるかどうかを確認するためのScalaまたはJavaプログラムからの良い方法は何ですか? つまり、「CsvBucket」という名前のバケットがある場合、キーが「processed/files/2015/8/*.csv」というパターンに一致するオブジェクトが含まれているかどうかを確認するにはどうすればよいですか?
ありがとう
S3バケットに特定のキーパターンに一致するオブジェクトがあるかどうかを確認するためのScalaまたはJavaプログラムからの良い方法は何ですか? つまり、「CsvBucket」という名前のバケットがある場合、キーが「processed/files/2015/8/*.csv」というパターンに一致するオブジェクトが含まれているかどうかを確認するにはどうすればよいですか?
ありがとう
S3 オブジェクト キーは単なるString
s であるため、それらを繰り返し処理し、正規表現を使用してそれぞれをテストできます。おそらく次のようなものです(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 ...
}
}