Hi @Lars Peeters | Bryn
Welcome to Microsoft Q&A platform and thanks for posting your question here.
As per my understanding, you are trying to export data from a REST API source that uses OAuth2.0 with grant type 'Authorization Code' and store it in Azure Blob Storage for ingestion in Power BI. You have tried Azure Data Factory, but the HTTP & REST connectors do not support this specific grant type. You also considered building a custom authorization flow in ADF, but you are concerned about the token validity and API limits. Additionally, you are exploring the possibility of using an API Gateway or other Azure resources that are better suited for this purpose.
Based on your requirements, I would suggest using Azure Logic Apps. Azure Logic Apps is a low-code platform that allows you to create workflows that integrate with various services, including REST APIs. Logic Apps has built-in connectors for OAuth2.0 authentication, including the Authorization Code grant type. You can use the HTTP connector to call the REST API endpoints and store the data in Azure Blob Storage using the Azure Blob Storage connector. Logic Apps also supports parallel execution of tasks, which can help you extract data from multiple endpoints/tables in parallel.
To get started with Azure Logic Apps, you can follow the steps outlined in the official Azure documentation:
- Create a Logic App in the Azure portal.
- Add the HTTP connector and configure it to call the REST API endpoints.
- Add the OAuth2.0 connector and configure it to authenticate using the Authorization Code grant type.
- Add the Azure Blob Storage connector and configure it to store the data in Blob Storage.
- Use the Control Actions to implement parallel execution of tasks.
Here are some links to the relevant Azure documentation that can help you get started with Azure Logic Apps:
https://techcommunity.microsoft.com/t5/azure-integration-services-blog/authenticate-standard-logic-apps-using-oauth-2-0-bearer-token/ba-p/3269576
https://learn.microsoft.com/en-us/azure/connectors/connectors-create-api-azureblobstorage?tabs=consumption
I hope this information helps you. Let me know if you have any further questions or concerns.