从 Scala 或 Java 程序中检查 S3 存储桶是否具有与特定关键模式匹配的对象的好方法是什么?也就是说,如果我有一个名为“CsvBucket”的存储桶,我如何检查它是否包含 key 与模式“processed/files/2015/8/*.csv”匹配的对象?
谢谢
最佳答案
由于 S3 对象键只是 String
,因此您可以迭代它们并使用正则表达式测试每个键。也许是这样的(使用 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 ...
}
}
关于java - Java 中检查 S3 存储桶是否具有与通配符模式匹配的键的对象的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32406729/