/Rebus.GoogleCloudStorage

:bus: Google Cloud Storage data bus, subscription and Saga auditing storage for Rebus

Primary LanguageC#OtherNOASSERTION

Rebus.GoogleCloudStorage

install from nuget

Provides Google Cloud Storage bucket implementation for Rebus of

  • data bus storage
  • subscription storage
  • saga auditing snapshots

You can configure the bucket data bus like this:

var storageClient = StorageClient.Create();

Configure.With(...)
	.(...)
	.DataBus(d => d.StoreInGoogleCloudStorage(storageClient, "my-project-id", "my-bucket"))
	.Start();

or to pass configure more options:

var storageClient = StorageClient.Create();

Configure.With(...)
	.(...)
    .DataBus(d =>
    {
        var options = new GoogleCloudStorageDataBusOptions("my-project-id", "my-bucket")
        {
            DoNotUpdateLastReadTime = true,
            AutoCreateBucket = false,
            ObjectKeyPrefix = "my-prefix",
            ObjectKeySuffix = ".my-suffix",
        };
       d.StoreInGoogleCloudStorage(storageClient, options);
    })
	.Start();

You can configure the subscription store like this:

var storageClient = StorageClient.Create();

Configure.With(...)
	.(...)
	.Subscriptions(d => d.StoreInGoogleCloudStorage(storageClient, "my-project-id", "my-bucket"))
	.Start();

or to pass configure more options:

var storageClient = StorageClient.Create();

Configure.With(...)
	.(...)
    .Subscriptions(d =>
    {
        var options = new GoogleCloudStorageSubscriptionOptions("my-project-id", "my-bucket")
        {
            DoNotUpdateLastReadTime = true,
            AutoCreateBucket = false,
            ObjectKeyPrefix = "my-prefix-folder/",
        };
        d.StoreInGoogleCloudStorage(storageClient, options);
    })
	.Start();

You can configure the saga auditing storage like this:

var storageClient = StorageClient.Create();

Configure.With(...)
	.(...)
    .Sagas(...)
    .Options(o => o.EnableSagaAuditing().StoreInGoogleCloudStorage(storageClient, "my-project-id", "my-bucket"))
	.Start();

or to pass configure more options:

var storageClient = StorageClient.Create();

Configure.With(...)
	.(...)
    .Sagas(...)
    .Options(o =>
    {
        var options = new GoogleCloudStorageSagaSnapshotOptions("my-project-id", "my-bucket")
        {
            DoNotUpdateLastReadTime = true,
            AutoCreateBucket = false,
            ObjectKeyPrefix = "my-snapshots-folder/",
        };
        o.EnableSagaAuditing().StoreInGoogleCloudStorage(storageClient, options);
    })
	.Start();