Event Hub with Azure Schema Registry and Azure Blob Storage Configuration Example

This production‑ready configuration example targets Azure. It uses Azure Kafka Sender, Azure Schema Registry, and Azure Blob Storage Provider.

This Azure configuration example uses AzureBlobStorageProvider for large blob and slob data. It includes both file and console logging for monitoring in a production environment.

{
   "Modules": {
      "Reader": "File",
      "Sender": "Kafka",
      "TopicManager": "File",
      "Serializer": "Json",
      "StorageProvider" : "AzureBlobStorage",
      "SchemaGenerator": "Json",
      "SchemaRegistry": "Azure"
   },
   "Configurations": {
      "FileReader": {
      "CaptureDirectory": "C:\\Events\\ChangeCapture",
            "UndeliverableDirectory": "C:\\Events\\ChangeCapture\\undeliverable",
      "RunContinuously": true,
      "Delay": 200
      },
      "FileTopicManager": {
         "TopicFileName": "C:\\Events\\Config\\JadeTopics.config.json"
      },
      "KafkaSender": {
         "Properties": {
            "bootstrap.servers": 
                  "your-eventhub-namespace.servicebus.windows.net:9093",
            "security.protocol": "SASL_SSL",
            "sasl.mechanisms": "PLAIN",
            "sasl.username": "$ConnectionString",
            "sasl.password": "Endpoint=sb://your-eventhub-
                   namespace.servicebus.windows.net/;SharedAccessKeyName=keyname;
                   SharedAccessKey=key"
         }
      },
      "AzureBlobStorageProvider": {
         "ConnectionString": "DefaultEndpointsProtocol=https;
               AccountName=accountname;AccountKey=accountkey;
               EndpointSuffix=core.windows.net",
         "ContainerName": "jade-blob-container",
         "StagingDirectory" : "C:\\Events\\BlobStaging",
         "BlobPrefix": "events"
      },
      "SizeThresholds": {
         "SlobThresholdBytes": "300KB",
         "BlobThresholdBytes": "300KB"
      },
      "AzureSchemaRegistry": {
         "Endpoint":"https://your-eventhub-namespace.servicebus.windows.net",
         "EventhubNamespace":"your-eventhub-namespace",
         "SchemaGroup":"your-eventhub-json-schema-group",
         "SchemaFormat": "Json",
         "HttpLogging": false,
         "RetryOptions": {
            "MaxRetries": 5,
            "RetryDelay": 900,
            "MaxRetryDelay": 30000,
            "StatusCodes": [500, 503]
         }
      },
      "Catalog" : {
         "CatalogDirectory": "C:\\Jade\\System\\Journals"
      },
      "SchemaCache": {
         "CacheRootDirectory": "C:\\Events\\SchemaCache"
      },
      "Loggers":
      [
         {
            "MaxLevel" : "Debug",
            "Sink" : "File",
            "LogFileName": "C:\\Events\\Logs\\JadeEventProducer_Debug.log"
         },
         {
            "MaxLevel" : "Info",
            "Sink" : "File",
            "LogFileName": "C:\\Events\\Logs\\JadeEventProducer_Info.log"
         },
         {
            "MaxLevel" : "Info",
            "Sink" : "Console"
         }
      ]
   }
}