Java 类com.amazonaws.services.s3.model.BucketLifecycleConfiguration 实例源码

项目:nexus-blobstore-s3    文件:S3BlobStore.java   
@Override
public void init(final BlobStoreConfiguration configuration) {
  this.blobStoreConfiguration = configuration;
  try {
    this.s3 = amazonS3Factory.create(configuration);
    if (!s3.doesBucketExist(getConfiguredBucket())) {
      s3.createBucket(getConfiguredBucket());

      addBucketLifecycleConfiguration(null);
    } else {
      // bucket exists, we should test that the correct lifecycle config is present
      BucketLifecycleConfiguration lifecycleConfiguration = s3.getBucketLifecycleConfiguration(getConfiguredBucket());
      if (!isExpirationLifecycleConfigurationPresent(lifecycleConfiguration)) {
        addBucketLifecycleConfiguration(lifecycleConfiguration);
      }
    }

    setConfiguredBucket(getConfiguredBucket());
  }
  catch (Exception e) {
    throw new BlobStoreException("Unable to initialize blob store bucket: " + getConfiguredBucket(), e, null);
  }
}
项目:nexus-public    文件:S3BlobStore.java   
@Override
public void init(final BlobStoreConfiguration configuration) {
  this.blobStoreConfiguration = configuration;
  try {
    this.s3 = amazonS3Factory.create(configuration);
    if (!s3.doesBucketExist(getConfiguredBucket())) {
      s3.createBucket(getConfiguredBucket());

      addBucketLifecycleConfiguration(null);
    } else {
      // bucket exists, we should test that the correct lifecycle config is present
      BucketLifecycleConfiguration lifecycleConfiguration = s3.getBucketLifecycleConfiguration(getConfiguredBucket());
      if (!isExpirationLifecycleConfigurationPresent(lifecycleConfiguration)) {
        addBucketLifecycleConfiguration(lifecycleConfiguration);
      }
    }

    setConfiguredBucket(getConfiguredBucket());
  }
  catch (Exception e) {
    throw new BlobStoreException("Unable to initialize blob store bucket: " + getConfiguredBucket(), e, null);
  }
}
项目:nexus-blobstore-s3    文件:S3BlobStore.java   
boolean isExpirationLifecycleConfigurationPresent(BucketLifecycleConfiguration lifecycleConfiguration) {
  return lifecycleConfiguration != null &&
      lifecycleConfiguration.getRules() != null &&
      lifecycleConfiguration.getRules().stream()
      .filter(r -> r.getExpirationInDays() == getConfiguredExpirationInDays())
      .filter(r -> {
        LifecycleFilterPredicate predicate = r.getFilter().getPredicate();
        if (predicate instanceof LifecycleTagPredicate) {
          LifecycleTagPredicate tagPredicate = (LifecycleTagPredicate) predicate;
          return DELETED_TAG.equals(tagPredicate.getTag());
        }
        return false;
      })
      .findAny().isPresent();
}
项目:nexus-blobstore-s3    文件:S3BlobStore.java   
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);
  }
}
项目:ecs-samples    文件:_12_LifecyclePolicy.java   
public static void main(String[] args) throws Exception {

        System.out.println( "Enter the number of days to keep objects before delete:" );
        String days = new BufferedReader( new InputStreamReader( System.in ) ).readLine();
        System.out.println( "Enter the prefix (i.e. folder1/) to identify specific objects to delete:" );
        String prefix = new BufferedReader( new InputStreamReader( System.in ) ).readLine();

        // create the AWS S3 Client
        AmazonS3 s3 = AWSS3Factory.getS3Client();

        // create the new rule
        BucketLifecycleConfiguration.Rule rule = new BucketLifecycleConfiguration.Rule()
                .withExpirationInDays(Integer.valueOf(days))
                .withId("rule-1")
                .withPrefix(prefix.trim())
                .withStatus(BucketLifecycleConfiguration.ENABLED.toString());

        // build the rule into configuration type
        BucketLifecycleConfiguration configuration = new BucketLifecycleConfiguration(Arrays.asList(rule));

        // save the lifecycle policy
        s3.setBucketLifecycleConfiguration(AWSS3Factory.S3_BUCKET, configuration);

        // Retrieve configuration.
        BucketLifecycleConfiguration result = s3.getBucketLifecycleConfiguration(AWSS3Factory.S3_BUCKET);
        System.out.println(String.format("bucket lifecycle configuration: prefix is %s and days is %s.",
                result.getRules().get(0).getPrefix(), result.getRules().get(0).getExpirationInDays()));

        //s3.deleteBucketLifecycleConfiguration(AWSS3Factory.S3_BUCKET);
    }
项目:nexus-public    文件:S3BlobStore.java   
boolean isExpirationLifecycleConfigurationPresent(BucketLifecycleConfiguration lifecycleConfiguration) {
  return lifecycleConfiguration != null &&
      lifecycleConfiguration.getRules() != null &&
      lifecycleConfiguration.getRules().stream()
      .filter(r -> r.getExpirationInDays() == getConfiguredExpirationInDays())
      .anyMatch(r -> {
        LifecycleFilterPredicate predicate = r.getFilter().getPredicate();
        if (predicate instanceof LifecycleTagPredicate) {
          LifecycleTagPredicate tagPredicate = (LifecycleTagPredicate) predicate;
          return DELETED_TAG.equals(tagPredicate.getTag());
        }
        return false;
      });
}
项目:nexus-public    文件:S3BlobStore.java   
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);

  if (existing != null) {
    existing.getRules().add(rule);
    return existing;
  } else {
    return new BucketLifecycleConfiguration().withRules(rule);
  }
}
项目:elasticsearch_my    文件:AmazonS3Wrapper.java   
@Override
public BucketLifecycleConfiguration getBucketLifecycleConfiguration(String bucketName) {
    return delegate.getBucketLifecycleConfiguration(bucketName);
}
项目:elasticsearch_my    文件:AmazonS3Wrapper.java   
@Override
public void setBucketLifecycleConfiguration(String bucketName, BucketLifecycleConfiguration bucketLifecycleConfiguration) {
    delegate.setBucketLifecycleConfiguration(bucketName, bucketLifecycleConfiguration);
}
项目:elasticsearch_my    文件:AmazonS3Wrapper.java   
@Override
public BucketLifecycleConfiguration getBucketLifecycleConfiguration(GetBucketLifecycleConfigurationRequest getBucketLifecycleConfigurationRequest) {
    return delegate.getBucketLifecycleConfiguration(getBucketLifecycleConfigurationRequest);
}
项目:nexus-blobstore-s3    文件:S3BlobStore.java   
private void addBucketLifecycleConfiguration(BucketLifecycleConfiguration lifecycleConfiguration) {
  s3.setBucketLifecycleConfiguration(
      getConfiguredBucket(),
      makeLifecycleConfiguration(lifecycleConfiguration, getConfiguredExpirationInDays()));
}
项目:ibm-cos-sdk-java    文件:BucketConfigurationXmlFactory.java   
/**
 * Converts the specified {@link BucketLifecycleConfiguration} object to an XML fragment that
 * can be sent to Amazon S3.
 *
 * @param config
 *            The {@link BucketLifecycleConfiguration}
 */
 /* <LifecycleConfiguration>
       <Rule>
           <ID>logs-rule</ID>
           <Status>Enabled</Status>
           <Transition>
               <Days>30</Days>
               <StorageClass>GLACIER</StorageClass>
           </Transition>
           <Expiration>
               <Days>365</Days>
           </Expiration>
           <NoncurrentVersionTransition>
               <NoncurrentDays>7</NoncurrentDays>
               <StorageClass>GLACIER</StorageClass>
           </NoncurrentVersionTransition>
           <NoncurrentVersionExpiration>
               <NoncurrentDays>14</NoncurrentDays>
           </NoncurrentVersionExpiration>
           <Filter> <!-- A filter can have only one of Prefix, Tag or And. -->
             <Prefix>logs/</Prefix>
             <Tag>
                <Key>key1</Key>
                <Value>value1</Value>
             </Tag>
             <And>
                <Prefix>logs/</Prefix>
                <Tag>
                    <Key>key1</Key>
                    <Value>value1</Value>
                </Tag>
                <Tag>
                    <Key>key1</Key>
                    <Value>value1</Value>
                </Tag>
             </And>
       </Filter>
       </Rule>
       <Rule>
           <ID>image-rule</ID>
           <Prefix>image/</Prefix>
           <Status>Enabled</Status>
           <Transition>
               <Date>2012-12-31T00:00:00.000Z</Date>
               <StorageClass>GLACIER</StorageClass>
           </Transition>
           <Expiration>
               <Date>2020-12-31T00:00:00.000Z</Date>
           </Expiration>
           <AbortIncompleteMultipartUpload>
               <DaysAfterInitiation>10</DaysAfterInitiation>
           </AbortIncompleteMultipartUpload>
      </Rule>
</LifecycleConfiguration>
*/
public byte[] convertToXmlByteArray(BucketLifecycleConfiguration config) throws SdkClientException {

    XmlWriter xml = new XmlWriter();
    xml.start("LifecycleConfiguration");

    for (Rule rule : config.getRules()) {
        writeRule(xml, rule);
    }

    xml.end();

    return xml.getBytes();
}
项目:S3Decorators    文件:S3Decorator.java   
@Override
public BucketLifecycleConfiguration getBucketLifecycleConfiguration(String bucketName) {
  return call(() -> getDelegate().getBucketLifecycleConfiguration(bucketName));
}
项目:S3Decorators    文件:S3Decorator.java   
@Override
public BucketLifecycleConfiguration getBucketLifecycleConfiguration(GetBucketLifecycleConfigurationRequest getBucketLifecycleConfigurationRequest) {
  return call(() -> getDelegate().getBucketLifecycleConfiguration(getBucketLifecycleConfigurationRequest));
}
项目:S3Decorators    文件:S3Decorator.java   
@Override
public void setBucketLifecycleConfiguration(String bucketName, BucketLifecycleConfiguration bucketLifecycleConfiguration) {
  run(() -> getDelegate().setBucketLifecycleConfiguration(bucketName, bucketLifecycleConfiguration));
}
项目:nexus-public    文件:S3BlobStore.java   
private void addBucketLifecycleConfiguration(BucketLifecycleConfiguration lifecycleConfiguration) {
  s3.setBucketLifecycleConfiguration(
      getConfiguredBucket(),
      makeLifecycleConfiguration(lifecycleConfiguration, getConfiguredExpirationInDays()));
}
项目:presto    文件:MockAmazonS3.java   
@Override
public BucketLifecycleConfiguration getBucketLifecycleConfiguration(String bucketName)
{
    return null;
}
项目:presto    文件:MockAmazonS3.java   
@Override
public void setBucketLifecycleConfiguration(String bucketName, BucketLifecycleConfiguration bucketLifecycleConfiguration)
{
}
项目:cloudExplorer    文件:BucketTransitionGlacier.java   
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();
}
项目:cloudExplorer    文件:BucketTransition.java   
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);
}
项目:Scribengin    文件:AmazonS3Mock.java   
@Override
public BucketLifecycleConfiguration getBucketLifecycleConfiguration(String bucketName) {
  // TODO Auto-generated method stub
  return null;
}
项目:Scribengin    文件:AmazonS3Mock.java   
@Override
public void setBucketLifecycleConfiguration(String bucketName,
    BucketLifecycleConfiguration bucketLifecycleConfiguration) {
  // TODO Auto-generated method stub

}