This app was created as a middleware to integrate Azure Marketplace Webhooks with diverse queue tecnologies. Through the configuration you can choose which queue technology you want to use from the chart below.
- Supported Queues:
Queue Status Service Bus Topics Implemented Service Bus Queues Implemented EventHubs Not Implemented Kafka Not Implemented
If you need to use one queue that is not implemented yet, please let me know.
All the configuration is done using the appsettings.json (local.settings.json for local development) file or AppSettings inside the Function App configuration on Azure.
For Service Bus topics, you should fill the following parameters:
Parameter | Type | default | description |
---|---|---|---|
queueType | string | servicebus-topic or servicebus-queue |
The type of Queue that will be used. |
servicebus.unsubscribe | string | unsubscribe |
The name of the Topic/Queue that will receive messages with Action = Unsubscribe |
servicebus.changePlan | string | changePlan |
The name of the Topic/Queue that will receive messages with Action = ChangePlan |
servicebus.changeQuantity | string | changeQuantity |
The name of the Topic/Queue that will receive messages with Action = ChangeQuantity |
servicebus.suspend | string | suspend |
The name of the Topic/Queue that will receive messages with Action = Suspend |
servicebus.reinstate | string | reinstate |
The name of the Topic/Queue that will receive messages with Action = Reinstate |
servicebus.informational | string | informational |
The name of the Topic/Queue that will receive all other messages that doesn't fit the options above |
Parameter | Type | default | description |
---|---|---|---|
servicebus | string | Connection string to connect to Service Bus. |
{
"IsEncrypted": false,
"Values": {
"queueType": "servicebus-topic", # or servicebus-queue
"servicebus": {
"unsubscribe": "unsubscribe",
"changePlan": "changeplan",
"changeQuantity": "changequantity",
"suspend": "suspend",
"reinstate": "reinstate",
"informational": "informational"
},
"FUNCTIONS_WORKER_RUNTIME": "dotnet"
},
"ConnectionStrings": {
"servicebus": "<<your-service-bus-connection-string>>"
}
}