AWS S3(Amazon Simple Storage Service)是一种对象存储服务,可以存储和检索大量数据。要实现AWS S3的横向扩展连接,可以使用AWS SDK提供的API进行操作。下面是一个使用Java SDK的示例代码:
import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.*;
import java.util.List;
public class S3Example {
public static void main(String[] args) {
// 配置AWS凭证和区域
S3Client s3Client = S3Client.builder()
.region(Region.US_EAST_1)
.credentialsProvider(DefaultCredentialsProvider.create())
.build();
// 列出所有存储桶
ListBucketsResponse listBucketsResponse = s3Client.listBuckets();
List buckets = listBucketsResponse.buckets();
for (Bucket bucket : buckets) {
System.out.println("Bucket: " + bucket.name());
}
// 创建存储桶
String bucketName = "my-bucket";
s3Client.createBucket(CreateBucketRequest.builder().bucket(bucketName).build());
System.out.println("Bucket created: " + bucketName);
// 上传对象
String objectKey = "my-object";
String objectData = "Hello, S3!";
s3Client.putObject(PutObjectRequest.builder().bucket(bucketName).key(objectKey).build(),
RequestBody.fromString(objectData));
System.out.println("Object uploaded: " + objectKey);
// 下载对象
GetObjectResponse getObjectResponse = s3Client.getObject(GetObjectRequest.builder().bucket(bucketName).key(objectKey).build());
String downloadedObjectData = getObjectResponse.readAllBytes().asUtf8String();
System.out.println("Object downloaded: " + downloadedObjectData);
// 删除对象
s3Client.deleteObject(DeleteObjectRequest.builder().bucket(bucketName).key(objectKey).build());
System.out.println("Object deleted: " + objectKey);
// 删除存储桶
s3Client.deleteBucket(DeleteBucketRequest.builder().bucket(bucketName).build());
System.out.println("Bucket deleted: " + bucketName);
}
}
上述代码展示了如何使用AWS SDK连接到AWS S3,并进行存储桶的创建、对象的上传、下载和删除等操作。请注意,您需要使用正确的AWS凭证和区域来初始化S3Client
对象。