下面列出了com.amazonaws.services.s3.model.BucketLifecycleConfiguration#Rule ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
BucketLifecycleConfiguration makeLifecycleConfiguration(BucketLifecycleConfiguration existing, int expirationInDays) {
BucketLifecycleConfiguration.Rule rule = new BucketLifecycleConfiguration.Rule()
.withId(LIFECYCLE_EXPIRATION_RULE_ID)
.withFilter(new LifecycleFilter(
new LifecycleTagPredicate(DELETED_TAG)))
.withExpirationInDays(expirationInDays)
.withStatus(BucketLifecycleConfiguration.ENABLED.toString());
if (existing != null) {
existing.getRules().add(rule);
return existing;
} else {
return new BucketLifecycleConfiguration().withRules(rule);
}
}
private BucketLifecycleConfiguration.Rule createExpirationRule(String id, String prefix,
int expiration) {
return new BucketLifecycleConfiguration.Rule()
.withId(id)
.withFilter(new LifecycleFilter(new LifecyclePrefixPredicate(prefix)))
.withExpirationInDays(expiration)
.withStatus(BucketLifecycleConfiguration.ENABLED);
}
public void run() {
AWSCredentials credentials = new BasicAWSCredentials(access_key, secret_key);
AmazonS3 s3Client = new AmazonS3Client(credentials,
new ClientConfiguration());
if (endpoint.contains("amazonaws.com")) {
String aws_endpoint = s3Client.getBucketLocation(new GetBucketLocationRequest(bucket));
if (aws_endpoint.contains("US")) {
s3Client.setEndpoint("https://s3.amazonaws.com");
} else if (aws_endpoint.contains("us-west")) {
s3Client.setEndpoint("https://s3-" + aws_endpoint + ".amazonaws.com");
} else if (aws_endpoint.contains("eu-west")) {
s3Client.setEndpoint("https://s3-" + aws_endpoint + ".amazonaws.com");
} else if (aws_endpoint.contains("ap-")) {
s3Client.setEndpoint("https://s3-" + aws_endpoint + ".amazonaws.com");
} else if (aws_endpoint.contains("sa-east-1")) {
s3Client.setEndpoint("https://s3-" + aws_endpoint + ".amazonaws.com");
} else {
s3Client.setEndpoint("https://s3." + aws_endpoint + ".amazonaws.com");
}
} else {
s3Client.setS3ClientOptions(S3ClientOptions.builder().setPathStyleAccess(true).build());
s3Client.setEndpoint(endpoint);
}
int converted_days = 0;
if (!disabled) {
converted_days = Integer.parseInt(days);
}
Transition transToArchive = new Transition()
.withDays(converted_days)
.withStorageClass(StorageClass.Glacier);
BucketLifecycleConfiguration.Rule ruleArchiveAndExpire = null;
if (!disabled) {
ruleArchiveAndExpire = new BucketLifecycleConfiguration.Rule()
.withPrefix(prefix)
.withTransition(transToArchive)
// .withExpirationInDays(converted_days + 1)
.withStatus(BucketLifecycleConfiguration.ENABLED.toString());
} else {
ruleArchiveAndExpire = new BucketLifecycleConfiguration.Rule()
.withPrefix(prefix)
.withTransition(transToArchive)
//.withExpirationInDays(100)
.withStatus(BucketLifecycleConfiguration.DISABLED.toString());
}
List<BucketLifecycleConfiguration.Rule> rules = new ArrayList<BucketLifecycleConfiguration.Rule>();
rules.add(ruleArchiveAndExpire);
try {
BucketLifecycleConfiguration configuration = new BucketLifecycleConfiguration()
.withRules(rules);
s3Client.setBucketLifecycleConfiguration(bucket, configuration);
} catch (Exception get) {
mainFrame.jTextArea1.append("\n" + get.getMessage());
}
if (!disabled) {
mainFrame.jTextArea1.append("\nSent request to set bucket life cycle to tier to Glacier after: " + converted_days + " day(s). Please observe for any errors.");
} else {
mainFrame.jTextArea1.append("\nSent request to disable the bucket life cycle. Please observe for any errors.");
}
calibrate();
}
public void run() {
AWSCredentials credentials = new BasicAWSCredentials(access_key, secret_key);
AmazonS3 s3Client = new AmazonS3Client(credentials,
new ClientConfiguration());
if (endpoint.contains("amazonaws.com")) {
String aws_endpoint = s3Client.getBucketLocation(new GetBucketLocationRequest(bucket));
if (aws_endpoint.contains("US")) {
s3Client.setEndpoint("https://s3.amazonaws.com");
} else if (aws_endpoint.contains("us-west")) {
s3Client.setEndpoint("https://s3-" + aws_endpoint + ".amazonaws.com");
} else if (aws_endpoint.contains("eu-west")) {
s3Client.setEndpoint("https://s3-" + aws_endpoint + ".amazonaws.com");
} else if (aws_endpoint.contains("ap-")) {
s3Client.setEndpoint("https://s3-" + aws_endpoint + ".amazonaws.com");
} else if (aws_endpoint.contains("sa-east-1")) {
s3Client.setEndpoint("https://s3-" + aws_endpoint + ".amazonaws.com");
} else {
s3Client.setEndpoint("https://s3." + aws_endpoint + ".amazonaws.com");
}
} else {
s3Client.setS3ClientOptions(S3ClientOptions.builder().setPathStyleAccess(true).build());
s3Client.setEndpoint(endpoint);
}
int converted_days = 0;
if (!disabled) {
converted_days = Integer.parseInt(days);
}
BucketLifecycleConfiguration.Rule ruleArchiveAndExpire = null;
if (!disabled) {
ruleArchiveAndExpire = new BucketLifecycleConfiguration.Rule()
.withPrefix(prefix)
.withExpirationInDays(converted_days)
.withStatus(BucketLifecycleConfiguration.ENABLED.toString());
} else {
ruleArchiveAndExpire = new BucketLifecycleConfiguration.Rule()
.withPrefix(prefix)
.withExpirationInDays(100)
.withStatus(BucketLifecycleConfiguration.DISABLED.toString());
}
List<BucketLifecycleConfiguration.Rule> rules = new ArrayList<BucketLifecycleConfiguration.Rule>();
rules.add(ruleArchiveAndExpire);
try {
BucketLifecycleConfiguration configuration = new BucketLifecycleConfiguration()
.withRules(rules);
s3Client.setBucketLifecycleConfiguration(bucket, configuration);
} catch (Exception get) {
mainFrame.jTextArea1.append("\n" + get.getMessage());
}
if (!disabled) {
mainFrame.jTextArea1.append("\nSent request to change bucket life cycle to " + converted_days + " day(s). Please observe for any errors.");
} else {
mainFrame.jTextArea1.append("\nSent request to disable the bucket life cycle. Please observe for any errors.");
}
calibrate();
mainFrame.jPanel9.setVisible(true);
}