如何使用 URL 和 2.x Java SDK 获取 S3 对象?

mro*_*rog 6 java amazon-s3 aws-sdk

我正在使用 2.x AWS Java SDK ( https://docs.aws.amazon.com/sdk-for-java/index.html )。我需要使用友好的 HTTP URL(例如https://bucket.s3.region.amazonaws.com/keyhttps://s3.region.amazonaws.com/bucket/key)获取 S3 对象。

旧的 SDK 包含一个AmazonS3URI可以解析 URL 并提取存储桶和密钥的类。2.x SDK 是否包含类似的功能,还是应该使用 Java 的 URI 类来解析 URL?

Bao*_*ham 8

这就是我使用URIfrom所做的java.net

URI uri = new URI(s3Url);

String bucketName = uri.getHost();

// remove the first "/"
String prefix = uri.getPath().substring(1);
Run Code Online (Sandbox Code Playgroud)


mro*_*rog 6

目前还没有办法使用 SDK 来实现这一点,但将来可能会提供。同时,您可以使用 Java 的URI类编写自己的代码,或者使用AmazonS3URI旧的 SDK 并希望它继续工作。