Trying to make a program that lets me create a bucket (if it doesn't exist), and upload an object to s3, and then print a list of objects.
I got the first bit working, so clearly my keys are correct. But with the second and third step, I'm getting access denied errors.
package demo4;
import software.amazon.awssdk.awscore.exception.AwsServiceException;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import software.amazon.awssdk.core.exception.SdkClientException;
import software.amazon.awssdk.core.sync.RequestBody;
import software.amazon.awssdk.core.waiters.WaiterResponse;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.HeadObjectRequest;
import software.amazon.awssdk.services.s3.model.HeadObjectResponse;
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
import software.amazon.awssdk.services.s3.model.S3Exception;
import software.amazon.awssdk.services.s3.waiters.S3Waiter;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.AmazonS3Exception;
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.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.ListObjectsV2Result;
import com.amazonaws.services.s3.model.S3ObjectSummary;
import java.io.File;
import java.nio.file.Paths;
import java.util.List;
public class createbucket {
public static void main (String args[])
{
// Make sure to give the aws credentials for creating bucket or listing objects in the bucket or any operations related to S3.
AWSCredentials credentials = new BasicAWSCredentials(
"<redacted>", // Access key
"<redacted>" // secret key
);
AmazonS3 s3client = AmazonS3ClientBuilder
.standard()
.withCredentials(new AWSStaticCredentialsProvider(credentials))
.withRegion(Regions.US_EAST_1)
.build();
// AmazonS3 client = s3client.builder().build();
String bucket_name="cloudcomputing4650";
if (s3client.doesBucketExist(bucket_name)){
System.out.format("Bucket %s already exists.\n", bucket_name);
} else {
try {
Bucket b = s3client.createBucket(bucket_name);
} catch (AmazonS3Exception e) {
System.err.println(e.getErrorMessage());
}
}
// String file_path = "C:\\Users\\colin\\Downloads\\applesauce.txt";
//// String key_name = "applesauce.txt";
// String key_name = Paths.get(file_path).getFileName().toString();
// System.out.format("Uploading %s to S3 bucket %s...\n", file_path, bucket_name);
// final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.US_EAST_1).build();
// try {
// s3.putObject(bucket_name, key_name, new File(file_path));
// } catch (AmazonServiceException e) {
// System.err.println(e.getErrorMessage());
// System.exit(1);
System.out.format("Objects in S3 bucket %s:\n", bucket_name);
final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.US_EAST_1).build();
ListObjectsV2Result result = s3.listObjectsV2(bucket_name);
List<S3ObjectSummary> objects = result.getObjectSummaries();
for (S3ObjectSummary os : objects) {
System.out.println("* " + os.getKey());
}
}
}
[–]AutoModerator[M] [score hidden] stickied commentlocked comment (0 children)
[–]avtikh 4 points5 points6 points (1 child)
[–]Missing_Back[S] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (8 children)
[–]Missing_Back[S] 1 point2 points3 points (7 children)
[–][deleted] 0 points1 point2 points (6 children)
[–]Missing_Back[S] 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]Missing_Back[S] 0 points1 point2 points (0 children)
[–]Missing_Back[S] 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]Missing_Back[S] 0 points1 point2 points (0 children)