Setting Event Notification

If you have any questions during development, post them on the Issues page of GitHub. For details about parameters and usage of each API, see the API Reference

You can call ObsClient.setBucketNotification to set event notification for a bucket. Sample code is as follows:

String endPoint = "https://your-endpoint";
String ak = "*** Provide your Access Key ***";
String sk = "*** Provide your Secret Key ***";
// Create an instance of ObsClient.
ObsClient obsClient = new ObsClient(ak, sk, endPoint);

BucketNotificationConfiguration bucketNotificationConfig = new BucketNotificationConfiguration();
TopicConfiguration config = new TopicConfiguration();
config.setId("id1");
config.setTopic("your topic");
config.getEventTypes().add(EventTypeEnum.ObjectCreatedAll);

Filter f = new Filter();
f.getFilterRules().add(new FilterRule("prefix", "smn"));
f.getFilterRules().add(new FilterRule("suffix", ".jpg"));
config.setFilter(f);
bucketNotificationConfig.addTopicConfiguration(config);

FunctionGraphConfiguration functionConfig = new FunctionGraphConfiguration();
functionConfig.setId("id2");
functionConfig.setFunctionGraph("your function");
functionConfig.getEventTypes().add(EventTypeEnum.OBJECT_CREATED_ALL);
Filter functionFilter = new Filter();
functionFilter.getFilterRules().add(new FilterRule("prefix", "function"));
functionFilter.getFilterRules().add(new FilterRule("suffix", ".mp4"));
functionConfig.setFilter(functionFilter);
bucketNotificationConfig.addFunctionGraphConfiguration(functionConfig);

obsClient.setBucketNotification("bucketname", bucketNotificationConfig);