この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
渡辺です。
S3オブジェクトのURIは次のようなフォーマットです。
https://s3-ap-northeast-1.amazonaws.com/bucket-name/path/to/key
ところが、SDKを利用する場合、このようなURIからリージョン、バケット名などを取得する必要があります。 頑張ってパースせずに、com.amazonaws.services.s3.AmazonS3URIクラスを利用しましょう。
AmazonS3URI
AmazonS3URIクラスは、名前の通りS3のURIを表すクラスです。 コンストラクタにURIを与えれば、各種プロパティにアクセス可能です。
String uri = "https://s3-ap-northeast-1.amazonaws.com/bucket-name/path/to/key";
AmazonS3URI s3uri = new AmazonS3URI(uri);
System.out.println(s3uri.getRegion()); // => ap-northeast-1
System.out.println(s3uri.getBucket()); // => bucket-name
System.out.println(s3uri.getKey()); // => path/to/key
まとめ
AmazonS3URIクラス便利ですね!