C# .NET is in development for v1. Interested in contributing or chatting with us?Get in touch!
.NET - Bucket.On()
Create a new bucket notification trigger when certain files are created or deleted.
using System;
using Nitric.Sdk;
using Nitric.Sdk.Resource;
using Nitric.Sdk.Storage;
using BucketNotificationType = Nitric.Sdk.Function.BucketNotificationType;
var assets = Nitric.Bucket("assets");
var accessibleAssets = Nitric.Bucket("assets").With(BucketPermission.Reading);
// The request will contain the name of the file `Key` and the type of event `NotificationType`
assets.On(BucketNotificationType.Delete, "*", context => {
  Console.WriteLine("A file named " + context.Req.Key + "was deleted");
  return context;
});
assets.On(BucketNotificationType.Write, "/images/cat", context => {
  Console.WriteLine("A cat image was written");
  return context;
});
// If `.On()` is called with a permissioned bucket, a file reference will also be provided with the request
accessibleAssets.On(BucketNotificationType.Write, "/images/dog", context => {
  var dogImage = context.Req.File.Read();
  Console.WriteLine(dogImage.ToString());
  return context;
});
Nitric.Run();
Parameters
- Name
 name- Required
 - Required
 - Type
 - string
 - Description
 The unique name/reference to the file.
- Name
 notificationType- Required
 - Required
 - Type
 - BucketNotificationType.Write | BucketNotificationType.Delete
 - Description
 The notification type for a triggered event, either on a file write or a file delete.
- Name
 notificationPrefixFilter- Required
 - Required
 - Type
 - string
 - Description
 The file prefix filter that must match for a triggered event. If multiple filters overlap across notifications then an error will be thrown when registering the resource.
- Name
 middleware- Required
 - Required
 - Type
 - BucketNotificationMiddleware | BucketNotificationMiddleware[]
 - Description
 The middleware (code) to be triggered when a bucket event is triggered.
Available Trigger Types
BucketNotificationType.Write
Triggered when a file in the bucket is created using: file.Write()
BucketNotificationType.Delete
Triggered when a file in the bucket is deleted using: file.Delete()
Cloud Trigger Types
| Permission | AWS | GCP | Azure | 
|---|---|---|---|
| BucketNotificationType.Write | s3:ObjectCreated:* | OBJECT_FINALIZE | Microsoft.Storage.BlobCreated | 
| BucketNotificationType.Delete | s3:ObjectRemoved:* | OBJECT_DELETE | Microsoft.Storage.BlobDeleted |