import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.InputStream;
import java.util.List;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;
import com.amazonaws.services.s3.model.Bucket;
import com.amazonaws.services.s3.model.CannedAccessControlList;
import com.amazonaws.services.s3.model.ObjectMetadata;
import com.amazonaws.services.s3.model.PutObjectRequest;
import com.amazonaws.services.s3.model.S3ObjectSummary;
public class Test {
private static final String SUFFIX = "/";
public static void main(String[] args) {
AWSCredentials credentials = new BasicAWSCredentials(
"xxx",
"yyy");
AmazonS3 s3client = new AmazonS3Client(credentials);
s3client.setEndpoint("https://ams3.digitaloceanspaces.com");
String bucketName = "ubi-example-bucket";
s3client.createBucket(bucketName);
for (Bucket bucket : s3client.listBuckets()) {
System.out.println(" - " + bucket.getName());
}
String folderName = "testfolder";
createFolder(bucketName, folderName, s3client);
String fileName = folderName + SUFFIX + "test.docx";
s3client.putObject(new PutObjectRequest(bucketName, fileName,
new File("/home/icdu/projects/link/amazonTest/test.docx"))
.withCannedAcl(CannedAccessControlList.PublicRead));
// deleteFolder(bucketName, folderName, s3client);
// s3client.deleteBucket(bucketName);
}
public static void createFolder(String bucketName, String folderName, AmazonS3 client) {
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentLength(0);
InputStream emptyContent = new ByteArrayInputStream(new byte[0]);
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName,
folderName + SUFFIX, emptyContent, metadata);
client.putObject(putObjectRequest);
}
// public static void deleteFolder(String bucketName, String folderName, AmazonS3 client) {
// List fileList =
// client.listObjects(bucketName, folderName).getObjectSummaries();
// for (S3ObjectSummary file : fileList) {
// client.deleteObject(bucketName, file.getKey());
// }
// client.deleteObject(bucketName, folderName);
// }
}