EasyManuals Logo

Amazon Redshift User Manual

Amazon Redshift
131 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #126 background imageLoading...
Page #126 background image
String sourceDir = getProperty(config, "src_dir");
SecretKey mySymmetricKey = new SecretKeySpec( Base64.decodeBase64(masterSym
metricKeyBase64.getBytes()) , "AES");
EncryptionMaterials materials = new EncryptionMaterials(mySymmetricKey);
AmazonS3 s3 = new AmazonS3EncryptionClient(credentials, materials);
s3.setEndpoint(s3Endpoint);
// Upload all files.
uploadAllFilesToS3(s3, bucketName, s3Prefix, new File(sourceDir) );
}
private static void uploadAllFilesToS3(AmazonS3 s3, String bucketName, String
s3Prefix, final File folder) {
System.out.println("Reading files from directory "+folder);
for (final File fileEntry : folder.listFiles()) {
if (! fileEntry.isDirectory()) { // Skip sub directories.
int retryCount = 0;
boolean done = false;
while ( !done ) {
try {
uploadToS3(s3, bucketName, s3Prefix, fileEntry);
done = true;
}catch (Exception e ){
retryCount++;
if ( retryCount > MAX_RETRY_COUNT ) {
System.out.println("Retry count exceeded max retry count
"+MAX_RETRY_COUNT+". Giving up");
throw new RuntimeException(e);
}
// Do retry after 10 seconds.
System.out.println("Failed to upload file "+fileEntry+". Retry
ing...");
try {
Thread.sleep(10 * 1000);
}catch(Exception te) {}
}
}// while
}// for
}
}
private static void uploadToS3(AmazonS3 s3, String bucketName, String s3Prefix,
File file) {
try {
System.out.println("Uploading a new object to S3 object '"+s3Prefix+"'
from file "+file);
String key = s3Prefix+"/"+file.getName();
s3.putObject(new PutObjectRequest(bucketName, key, file) );
API Version 2012-12-01
122
Amazon Redshift Management Guide
Example: Uploading Client-Side Encrypted Data

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Amazon Redshift and is the answer not in the manual?

Amazon Redshift Specifications

General IconGeneral
ProviderAmazon Web Services (AWS)
Query LanguageSQL
Data StorageColumnar storage
SecurityEncryption at rest and in transit, VPC, IAM
BackupAutomated and manual snapshots
DeploymentCloud-based
TypeCloud-based data warehouse service
Primary UseData warehousing, analytics
IntegrationIntegrates with AWS services, BI tools, and ETL tools
Pricing ModelOn-demand and reserved instance pricing
Data CompressionColumnar storage with data compression
Performance OptimizationQuery optimization

Related product manuals