This repository is a demonstration of a path to creating custom reporting from the Azure Resource Graph.
This repository is for EDUCATION PURPOSES ONLY. It is not endorsed by Microsoft. It is only a Proof of Concept and not best practice prescription.
- Azure Resource Graph REST API - Allows for sending a query to the Resource Graph and receiving a paged response back for consumption in downstream processing.
- Azure Synapse Analytics - Synapse is a comprehensive analytics platform supporting a wide array of use cases with a diverse set of analytics engines. For this example, we'll be using two of those engines to balance both simplicity and cost.
- Pipelines - Orchestration for data movement. In this case, call the API, if there are additional pages then repeat the call, and drop the data to a storage destination in JSON format.
- Serverless SQL - Pick up data from the Storage Location defined in the Pipelines and transform it to a meaningful structure for reporting.
- Azure Data Lake Storage Gen 2 - Data transferred from the Synapse Pipelines will land in Data Lake Storage to be used with Synapse Serverless SQL.
- Power BI - Used to visualize and share data from the Serverless SQL queries.
- Owner access to an Azure Resource Group.
- Access to a user that can grant Role-based permissions at the Azure Subscription level
- Ensure the below Resource Providers are Registered
- Microsoft.Synapse
- Microsoft.Sql
-
Deploy Synapse to your Resource Group by clicking the button below.
-
Grant Synapse's Managed Identity access to the Storage Account that deployed with it by following the steps in this link.
-
Grant Synapse the "Reader" role for the Subscriptions you want to build reporting against.
-
Optional: Try the notebook way
- Deploy spark pool
- change variables in notebook