Example usage for com.amazonaws.services.s3.model SetBucketNotificationConfigurationRequest SetBucketNotificationConfigurationRequest

List of usage examples for com.amazonaws.services.s3.model SetBucketNotificationConfigurationRequest SetBucketNotificationConfigurationRequest

Introduction

In this page you can find the example usage for com.amazonaws.services.s3.model SetBucketNotificationConfigurationRequest SetBucketNotificationConfigurationRequest.

Prototype

public SetBucketNotificationConfigurationRequest(String bucketName,
        BucketNotificationConfiguration notificationConfiguration) 

Source Link

Document

Constructs a new SetBucketNotificationConfigurationRequest to set the bucket notification configuration of the specified bucket.

Usage

From source file:com.tvarit.plugin.S3WarUploadEventToInvokeLambdaMaker.java

License:Open Source License

void make(AmazonS3Client amazonS3Client, String bucketName, Stack stack) {
    final List<Output> outputs = stack.getOutputs();
    final String lambdaFunctionArn = outputs.stream()
            .filter(output -> output.getOutputKey().equals("LambdaFunctionArn")).findFirst().get()
            .getOutputValue();/*from  w  w  w. j ava 2s  .co  m*/
    final BucketNotificationConfiguration notificationConfiguration = new BucketNotificationConfiguration();
    final HashMap<String, NotificationConfiguration> configurations = new HashMap<>();
    final LambdaConfiguration lambdaConfiguration = new LambdaConfiguration(lambdaFunctionArn);
    final HashSet<String> events = new HashSet<>();
    events.add("s3:ObjectCreated:*");
    lambdaConfiguration.setEvents(events);
    final com.amazonaws.services.s3.model.Filter notificationFilter = new com.amazonaws.services.s3.model.Filter();
    final S3KeyFilter s3KeyFilter = new S3KeyFilter();
    notificationFilter.withS3KeyFilter(s3KeyFilter);
    s3KeyFilter.withFilterRules(new FilterRule().withName("suffix").withValue(".war"),
            new FilterRule().withName("prefix").withValue("deployables"));
    lambdaConfiguration.setFilter(notificationFilter);
    configurations.put("warUploaded", lambdaConfiguration);
    notificationConfiguration.setConfigurations(configurations);
    final SetBucketNotificationConfigurationRequest setBucketNotificationConfigurationRequest = new SetBucketNotificationConfigurationRequest(
            bucketName, notificationConfiguration);
    amazonS3Client.setBucketNotificationConfiguration(setBucketNotificationConfigurationRequest);

}