そのため、Java で AWS SDK を使用しており、S3 サーバーにあるバケット/オブジェクトをダウンロードするクラスを作成しました。
私が今必要としているのは、ワイルドカードまたはパターンのようなものを作成して、たとえば ("reports") という名前の文字列を追加することです。私が思いついた唯一のことは、次のようなパターンマッチャー変数を作成することです:
Pattern p = Pattern.compile("[a-zA-Z][0-9]");
Matcher m = p.matcher(prePattern);
ObjectListing s3ObjectList = s3client.listObjects(new ListObjectsRequest()
.withBucketName(bucketName)
.withPrefix(m + "reports"));+
私がやろうとしていることでより良い解決策があるかどうか、または私がそれを適切に行ったかどうか、誰か教えてください。
ありがとう!
新しいコード:
String bucketName = "blabla";
String prePattern = "^[a-z0-9_-]{1,30}$";
String prefixPat = " -- Insert Pattern Here -- ";
ArrayList<String> objPrefix = new ArrayList();
Pattern p = Pattern.compile(prePattern);
Matcher m = p.matcher(prefixPat);
for(int i=0; i<= objPrefix.size(); i++)
{
objPrefix.add(m + "reports");
ObjectListing s3ObjectList = s3client.listObjects(new ListObjectsRequest()
.withBucketName(bucketName)
.withPrefix(objPrefix.get(i)));
}
皆さん、どう思いますか?本当に感謝します。ありがとう!