on method

Future<void> on(
  1. BlobEventType blobEventType,
  2. String keyPrefixFilter,
  3. BlobEventHandler handler
)

Create a blob event subscription triggered on the blobEventType filtered by files that match the keyPrefixFilter.

Implementation

Future<void> on(BlobEventType blobEventType, String keyPrefixFilter,
    BlobEventHandler handler) async {
  // Create the request to register the Storage listener with the membrane
  final eventType = switch (blobEventType) {
    BlobEventType.write => $bp.BlobEventType.Created,
    BlobEventType.delete => $bp.BlobEventType.Deleted,
  };

  final registrationRequest = $bp.RegistrationRequest(
    bucketName: name,
    keyPrefixFilter: keyPrefixFilter,
    blobEventType: eventType,
  );

  var worker = BlobEventWorker(registrationRequest, handler,
      client: _storageListenerClient);

  await worker.start();
}