use of com.amazonaws.services.qldb.model.InvalidParameterException in project amazon-qldb-dmv-sample-java by aws-samples.
the class ExportJournal method createExport.
/**
* Request QLDB to export the contents of the journal for the given time
* period and s3 configuration. Before calling this function the S3 bucket
* should be created, see {@link #createS3BucketIfNotExists(String, AmazonS3)}.
*
* @param name
* Name of the ledger.
* @param startTime
* Time from when the journal contents should be exported.
* @param endTime
* Time until which the journal contents should be exported.
* @param bucket
* S3 bucket to write the data to.
* @param prefix
* S3 prefix to be prefixed to the files written.
* @param s3EncryptionConfiguration
* Encryption configuration for S3.
* @param roleArn
* The IAM role ARN to be used when exporting the journal.
* @return {@link ExportJournalToS3Result} from QLDB.
*/
public static ExportJournalToS3Result createExport(String name, Date startTime, Date endTime, String bucket, String prefix, S3EncryptionConfiguration s3EncryptionConfiguration, String roleArn) {
log.info("Let's create a journal export for ledger with name: {}...", name);
S3ExportConfiguration s3ExportConfiguration = new S3ExportConfiguration().withBucket(bucket).withPrefix(prefix).withEncryptionConfiguration(s3EncryptionConfiguration);
ExportJournalToS3Request request = new ExportJournalToS3Request().withName(name).withInclusiveStartTime(startTime).withExclusiveEndTime(endTime).withS3ExportConfiguration(s3ExportConfiguration).withRoleArn(roleArn);
try {
ExportJournalToS3Result result = client.exportJournalToS3(request);
log.info("Requested QLDB to export contents of the journal.");
return result;
} catch (InvalidParameterException ipe) {
log.error("The eventually consistent behavior of the IAM service may cause this export" + " to fail its first attempts, please retry.");
throw ipe;
}
}
Aggregations