// Set bucket notifications. The resource ARN needs to exist on AWS with correct permissions. // For further info: see http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html public async static Task Run(Minio.MinioClient minio, string bucketName = "my-bucket-name") { try { Console.Out.WriteLine("Running example for API: SetBucketNotificationAsync"); BucketNotification notification = new BucketNotification(); // Uncomment the code below and change Arn and event types to configure. /* * Arn topicArn = new Arn("aws", "sns", "us-west-1", "730234153608", "topicminio"); * TopicConfig topicConfiguration = new TopicConfig(topicArn); * List<EventType> events = new List<EventType>(){ EventType.ObjectCreatedPut , EventType.ObjectCreatedCopy }; * topicConfiguration.AddEvents(events); * topicConfiguration.AddFilterPrefix("images"); * topicConfiguration.AddFilterSuffix("pg"); * notification.AddTopic(topicConfiguration); * * LambdaConfig lambdaConfiguration = new LambdaConfig("arn:aws:lambda:us-west-1:123434153608:function:lambdak1"); * lambdaConfiguration.AddEvents(new List<EventType>() { EventType.ObjectRemovedDelete }); * lambdaConfiguration.AddFilterPrefix("java"); * lambdaConfiguration.AddFilterSuffix("java"); * notification.AddLambda(lambdaConfiguration); * * QueueConfig queueConfiguration = new QueueConfig("arn:aws:sqs:us-west-1:123434153608:testminioqueue1"); * queueConfiguration.AddEvents(new List<EventType>() { EventType.ObjectCreatedCompleteMultipartUpload }); * notification.AddQueue(queueConfiguration); */ await minio.SetBucketNotificationsAsync(bucketName, notification); Console.Out.WriteLine("Notifications set for the bucket " + bucketName + "were set successfully"); Console.Out.WriteLine(); } catch (Exception e) { Console.WriteLine("[Bucket] Exception: {0}", e); } }