I am building an integration using API's from ADP. There is already an endpoint that I will be using - this is tied to a azure service bus. I have the name of the topic but I'm having trouble understanding the next artifacts that need to be created in Azure. I want the incoming messages to hit an EDW or just the data lake as data (it might be coming in as XML format, which I may need to convert to azure sql database):
- Should I create another subscription tied to the EDW that can pick up the messages from the service bus topic? (I have not attempted this before)
- Or Should I create a logic app to directly read the service bus or service bus topic? (I have not attempted this either)
I need to design a scalable solution - any insight would be greatly appreciated
Thanks
I'm not sure what language you use, here is implemented in python.
You can use a service bus trigger to listen the messages come in of the service bus queue or topic. Then you can use data lake SDK to save the message:
Use azure function service bus trigger to listen the message:
function.jsonAnd use code like below to append messages to data lake:
If you need to develop azure function on local, you need 'azure function core tools','language environment','VS Code and azure function extension'.
For more information, please have a look of this:
https://learn.microsoft.com/en-us/azure/azure-functions/functions-run-local?tabs=windows%2Ccsharp%2Cbash
https://learn.microsoft.com/en-us/azure/azure-functions/functions-reference-python
https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-service-bus-trigger?tabs=python
And this is the API reference of data lake SDK(In this web page you can find all the methods of interacting with various services based on python and azure):
https://learn.microsoft.com/en-us/python/api/azure-storage-file-datalake/azure.storage.filedatalake.datalakeserviceclient?view=azure-python