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 ObsClient instance.
ObsClient obsClient = new ObsClient(ak, sk, endPoint);
BucketNotificationConfiguration bucketNotificationConfig = new BucketNotificationConfiguration();

TopicConfiguration topicConfig = new TopicConfiguration();
topicConfig.setId("id1");
topicConfig.setTopic("your topic");
topicConfig.getEventTypes().add(EventTypeEnum.OBJECT_CREATED_ALL);
Filter topicFilter = new Filter();
topicFilter.getFilterRules().add(new FilterRule("prefix", "smn"));
topicFilter.getFilterRules().add(new FilterRule("suffix", ".jpg"));
topicConfig.setFilter(topicFilter);
bucketNotificationConfig.addTopicConfiguration(topicConfig);
 
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);