Modifier and Type | Field and Description |
---|---|
static long |
MULTI_PART_UPLOAD_THRESHOLD |
Modifier | Constructor and Description |
---|---|
protected |
S3Utils() |
Modifier and Type | Method and Description |
---|---|
void |
blockingMultiPartUpload(com.amazonaws.services.s3.model.PutObjectRequest request,
com.amazonaws.services.s3.transfer.TransferManager manager)
Use this method to reliably upload large files and wait until they are fully uploaded before continuing.
|
void |
buildPrefixList(com.amazonaws.services.s3.AmazonS3Client client,
String bucketName,
List<String> prefixes,
String prefix,
String delimiter,
BaseCase baseCase) |
DefaultMutableTreeNode |
buildTree(List<String> prefixes,
String delimiter) |
void |
fillInSummaries(DefaultMutableTreeNode node) |
AccountSummary |
getAccountSummary(AccountSummaryContext context) |
AccountSummary |
getAccountSummary(String accessKey,
String secretKey,
List<String> includes,
List<String> excludes) |
List<String> |
getAccountSummaryCSVColumns() |
protected String[] |
getAccountSummaryCSVRow(BucketSummary summary,
Date date) |
protected List<String[]> |
getAccountSummaryCSVRows(List<BucketSummary> summaries,
Date date) |
List<BucketDisplay> |
getBucketDisplayList(List<BucketPrefixSummary> summaries,
org.kuali.common.util.Size size) |
List<com.amazonaws.services.s3.model.Bucket> |
getBuckets(com.amazonaws.services.s3.AmazonS3Client client,
List<String> includes,
List<String> excludes) |
List<BucketSummary> |
getBucketSummaries(com.amazonaws.services.s3.AmazonS3Client client,
List<com.amazonaws.services.s3.model.Bucket> buckets) |
BucketSummary |
getBucketSummary(com.amazonaws.services.s3.AmazonS3Client client,
com.amazonaws.services.s3.model.Bucket bucket) |
List<String> |
getBucketSummaryColumns() |
List<BucketPrefixSummary> |
getBucketSummaryLeafs(DefaultMutableTreeNode node) |
List<BucketPrefixSummary> |
getBucketSummaryList(DefaultMutableTreeNode node,
Comparator<BucketPrefixSummary> comparator) |
List<DefaultMutableTreeNode> |
getChildren(DefaultMutableTreeNode node) |
com.amazonaws.services.s3.AmazonS3Client |
getClient(String accessKey,
String secretKey) |
int[] |
getColumnLengths(List<String> columns,
List<String[]> rows) |
com.amazonaws.auth.AWSCredentials |
getCredentials(String accessKey,
String secretKey) |
static S3Utils |
getInstance() |
List<DefaultMutableTreeNode> |
getLeaves(DefaultMutableTreeNode node) |
com.amazonaws.services.s3.model.ListObjectsRequest |
getListObjectsRequest(String bucketName) |
com.amazonaws.services.s3.model.ListObjectsRequest |
getListObjectsRequest(String bucketName,
String prefix) |
com.amazonaws.services.s3.model.ListObjectsRequest |
getListObjectsRequest(String bucketName,
String prefix,
String delimiter) |
com.amazonaws.services.s3.model.ListObjectsRequest |
getListObjectsRequest(String bucketName,
String prefix,
String delimiter,
Integer maxKeys) |
String |
getParentPrefix(String prefix,
String delimiter) |
protected String[] |
getRow(BucketSummary summary) |
List<String[]> |
getRows(List<BucketSummary> summaries) |
List<S3PrefixContext> |
getS3PrefixContexts(com.amazonaws.services.s3.AmazonS3Client client,
String bucketName,
List<BucketPrefixSummary> summaries) |
boolean |
include(String bucketName,
List<String> includes,
List<String> excludes) |
String |
lpad(String s,
int size) |
String |
rpad(String s,
int size) |
BucketPrefixSummary |
summarize(com.amazonaws.services.s3.AmazonS3Client client,
String bucketName) |
BucketPrefixSummary |
summarize(com.amazonaws.services.s3.AmazonS3Client client,
String bucketName,
BucketPrefixSummary summary) |
void |
summarize(com.amazonaws.services.s3.AmazonS3Client client,
String bucketName,
DefaultMutableTreeNode node) |
void |
summarize(BucketPrefixSummary summary,
List<com.amazonaws.services.s3.model.S3ObjectSummary> summaries) |
String |
toCSV(AccountSummary summary) |
String |
toCSV(AccountSummary summary,
boolean printColumnHeaders) |
String |
toCSV(List<String> columns,
List<String[]> rows,
boolean printColumnHeaders) |
List<String> |
toList(String csv) |
List<String> |
toList(String[] tokens) |
String |
toString(AccountSummary summary) |
String |
toString(DefaultMutableTreeNode node) |
String |
toString(DefaultMutableTreeNode node,
Comparator<BucketPrefixSummary> comparator) |
String |
toString(DefaultMutableTreeNode node,
org.kuali.common.util.Size size) |
String |
toString(DefaultMutableTreeNode node,
org.kuali.common.util.Size size,
Comparator<BucketPrefixSummary> comparator) |
String |
toString(List<String> columns,
List<String[]> rows) |
void |
updateAccountSummary(AccountSummary summary) |
void |
updateBucketSummary(BucketSummary summary,
List<com.amazonaws.services.s3.model.S3ObjectSummary> summaries) |
void |
upload(File file,
com.amazonaws.services.s3.model.PutObjectRequest request,
com.amazonaws.services.s3.AmazonS3Client client,
com.amazonaws.services.s3.transfer.TransferManager manager)
Upload a single file to Amazon S3.
|
void |
write(File file,
String data,
boolean append) |
public static final long MULTI_PART_UPLOAD_THRESHOLD
protected S3Utils()
public static S3Utils getInstance()
public com.amazonaws.auth.AWSCredentials getCredentials(String accessKey, String secretKey)
public com.amazonaws.services.s3.AmazonS3Client getClient(String accessKey, String secretKey)
public void upload(File file, com.amazonaws.services.s3.model.PutObjectRequest request, com.amazonaws.services.s3.AmazonS3Client client, com.amazonaws.services.s3.transfer.TransferManager manager)
MULTI_PART_UPLOAD_THRESHOLD
a multi-part upload is used. Multi-part uploads split the file into
several smaller chunks with each chunk being uploaded in a different thread. Once all the threads have completed the file is automatically reassembled on S3 as a single
file.public void blockingMultiPartUpload(com.amazonaws.services.s3.model.PutObjectRequest request, com.amazonaws.services.s3.transfer.TransferManager manager)
MULTI_PART_UPLOAD_THRESHOLD
. When this
method returns, all threads have finished and the file has been reassembled on S3. The benefit to this method is that if any one thread fails, only the portion of the file
that particular thread was handling will have to be re-uploaded (instead of the entire file). A reasonable number of automatic retries occurs if an individual upload thread
fails. If the file upload fails this method throws AmazonS3Exception
public com.amazonaws.services.s3.model.ListObjectsRequest getListObjectsRequest(String bucketName, String prefix, String delimiter, Integer maxKeys)
public com.amazonaws.services.s3.model.ListObjectsRequest getListObjectsRequest(String bucketName, String prefix, String delimiter)
public com.amazonaws.services.s3.model.ListObjectsRequest getListObjectsRequest(String bucketName, String prefix)
public com.amazonaws.services.s3.model.ListObjectsRequest getListObjectsRequest(String bucketName)
public List<DefaultMutableTreeNode> getLeaves(DefaultMutableTreeNode node)
public DefaultMutableTreeNode buildTree(List<String> prefixes, String delimiter)
public String getParentPrefix(String prefix, String delimiter)
public void buildPrefixList(com.amazonaws.services.s3.AmazonS3Client client, String bucketName, List<String> prefixes, String prefix, String delimiter, BaseCase baseCase)
public void summarize(com.amazonaws.services.s3.AmazonS3Client client, String bucketName, DefaultMutableTreeNode node)
public List<BucketPrefixSummary> getBucketSummaryLeafs(DefaultMutableTreeNode node)
public void fillInSummaries(DefaultMutableTreeNode node)
public List<DefaultMutableTreeNode> getChildren(DefaultMutableTreeNode node)
public AccountSummary getAccountSummary(AccountSummaryContext context)
public AccountSummary getAccountSummary(String accessKey, String secretKey, List<String> includes, List<String> excludes)
public List<BucketSummary> getBucketSummaries(com.amazonaws.services.s3.AmazonS3Client client, List<com.amazonaws.services.s3.model.Bucket> buckets)
public BucketSummary getBucketSummary(com.amazonaws.services.s3.AmazonS3Client client, com.amazonaws.services.s3.model.Bucket bucket)
public BucketPrefixSummary summarize(com.amazonaws.services.s3.AmazonS3Client client, String bucketName)
public BucketPrefixSummary summarize(com.amazonaws.services.s3.AmazonS3Client client, String bucketName, BucketPrefixSummary summary)
public void updateBucketSummary(BucketSummary summary, List<com.amazonaws.services.s3.model.S3ObjectSummary> summaries)
public void summarize(BucketPrefixSummary summary, List<com.amazonaws.services.s3.model.S3ObjectSummary> summaries)
public String toString(DefaultMutableTreeNode node)
public String toString(DefaultMutableTreeNode node, org.kuali.common.util.Size size)
public String toString(DefaultMutableTreeNode node, Comparator<BucketPrefixSummary> comparator)
public List<BucketPrefixSummary> getBucketSummaryList(DefaultMutableTreeNode node, Comparator<BucketPrefixSummary> comparator)
public List<BucketDisplay> getBucketDisplayList(List<BucketPrefixSummary> summaries, org.kuali.common.util.Size size)
public List<S3PrefixContext> getS3PrefixContexts(com.amazonaws.services.s3.AmazonS3Client client, String bucketName, List<BucketPrefixSummary> summaries)
public String toString(DefaultMutableTreeNode node, org.kuali.common.util.Size size, Comparator<BucketPrefixSummary> comparator)
public int[] getColumnLengths(List<String> columns, List<String[]> rows)
public void updateAccountSummary(AccountSummary summary)
public String toString(AccountSummary summary)
public String toCSV(AccountSummary summary)
public String toCSV(AccountSummary summary, boolean printColumnHeaders)
public List<com.amazonaws.services.s3.model.Bucket> getBuckets(com.amazonaws.services.s3.AmazonS3Client client, List<String> includes, List<String> excludes)
public List<String> getBucketSummaryColumns()
public List<String[]> getRows(List<BucketSummary> summaries)
protected String[] getRow(BucketSummary summary)
public List<String> getAccountSummaryCSVColumns()
protected List<String[]> getAccountSummaryCSVRows(List<BucketSummary> summaries, Date date)
protected String[] getAccountSummaryCSVRow(BucketSummary summary, Date date)
Copyright © 2004–2014 The Kuali Foundation. All rights reserved.