pm7y / AzureEventGridSimulator

A simulator that provides endpoints to mimic the functionality of Azure Event Grid topics and subscribers and is compatible with the Azure.Messaging.EventGrid client library.
MIT License
82 stars 39 forks source link

Cloud events + publishing to Azure Service Bus #143

Open EtherZa opened 1 year ago

EtherZa commented 1 year ago

This PR is a little larger that I would like it to be as I never intended for it to be merged upstream due to some breaking changes. It also includes multiple features.

Having said that; it may be useful and as such will leave it to you to include, decline, break apart or just ignore.

Changes:

Breaking changes:

{
      "name": "ATopicThatPushesToBothRequestCatcherAndAzureServiceBus",
      "port": 60105,
      "key": "TheLocal+DevelopmentKey=",
      "subscribers": {
        "http": [
          {
            "name": "RequestCatcherSubscription",
            "endpoint": "https://azureeventgridsimulator.requestcatcher.com",
            "disableValidation": true
          }
        ],
        "serviceBus": [
          {
            "name": "SVB",
            "namespace": "azure-service-bus-namespace",
            "sharedAccessKeyName": "RootManageSharedAccessKey",
            "sharedAccessKey": "ServiceBusSharedKey==",
            "topic": "sample-topic-or-queue-name",
            "properties": {
              "eTag": {
                "type": "dynamic",
                "value": "data.eTag"
              },
              "Label": {
                "type": "dynamic",
                "value": "Subject"
              },
              "CustomProperty": {
                "type": "static",
                "value": "Custom property value"
              }
            }
          }
        ]
      }
    }

Apologies again for the behemoth submission. Please do with it as you see fit.

Richard

jsommr commented 8 months ago

Awesome work! May I ask why it never got merged? Seems insanely useful.

EtherZa commented 8 months ago

Awesome work! May I ask why it never got merged? Seems insanely useful.

I suspect due to it being unsolicited and introducing a breaking change (configuration schema), but I never heard anymore.

I see that some conflicts have now crept in too.