Using Azure Cost Management Storage Export with CostRadar
How to configure Azure Cost Management exports to a storage account and connect those exported files in CostRadar.
CostRadar can ingest Azure Cost Management export files from a storage account that your team owns. This is useful when your subscription is configured to publish cost and usage files to Blob Storage instead of relying only on direct Cost Management query calls.
CostRadar uses read-only access for this flow. It reads the exported cost files and validates the subscription, but it does not create exports for you, write to your storage account, change Azure resources, or enforce budgets.
Azure setup before using CostRadar
In Azure Cost Management, create an export for the subscription you want CostRadar to monitor.
Use these settings when available:
- Export type: cost and usage details.
- Schedule: daily or recurring month-to-date export, depending on your Azure portal options.
- Destination: a Blob Storage container in a storage account your team controls.
- File format: CSV or compressed CSV (
.csv.gz). - Cost type: actual cost. CostRadar's current customer setup flow imports actual-cost exports.
Azure exports are not real-time. New or revised billing data appears only after Azure publishes it and the export run writes files to your storage account. CostRadar's scheduled ingestion can run daily, but it decides what to import by looking for the newest manifest/export blobs under the stable root folder; if Azure has not written a new run yet, CostRadar cannot manufacture fresher data.
When daily ingestion runs
Set the Azure export to run daily/month-to-date, then leave CostRadar pointed at the stable export root. Azure does not guarantee one universal completion time across all tenants and billing scopes, so CostRadar should be treated as a polling importer: it checks after the normal daily window and imports the newest completed manifest or CSV set it can read. If your export usually lands later, wait until the next scheduled CostRadar pull or use the manual refresh after the export files are visible in Blob Storage.
A good troubleshooting signal is the blob timestamp/path: if the newest manifest.json or CSV partition under the configured root is still from yesterday's export run, CostRadar will continue showing the last imported data until Azure writes a newer completed export.
Required Azure roles
Use the same CostRadar service principal that is connected to the subscription when possible.
For the full product experience, grant:
| Purpose | Azure role | Recommended scope | |---|---|---| | Subscription validation, resource metadata, tags, Advisor recommendations, and Cost Management fallback | Reader | Monitored Azure subscription | | Reading exported cost files | Storage Blob Data Reader | Export blob container, or the narrowest storage-account scope that covers the export container |
Storage Blob Data Reader is the role that lets CostRadar read files from Blob Storage. Subscription Reader alone does not grant blob data-plane access.
CostRadar does not need Owner, Contributor, or write access for ongoing ingestion.
Where to configure Storage Export in CostRadar
- Connect the Azure subscription in CostRadar using the normal Azure subscription connection flow.
- Go to Dashboard > Azure Subscriptions.
- Find the connected subscription row.
- Select
Use Storage ExportorEdit Storage Export. - Enter the Storage Account Resource ID, Container Name, and Export Folder Path, then select
Validate & Enable Storage Export.
CostRadar validates that it can find and read the expected export files. If validation succeeds, CostRadar stores the configuration and requests an import when possible. If an immediate import is not requested, data syncs on the next scheduled pull.
Fields in the CostRadar Storage Export form
Storage Account Resource ID
Enter the full Azure Resource Manager ID for the storage account, for example:
/subscriptions/YOUR_SUBSCRIPTION_ID/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.Storage/storageAccounts/YOUR_STORAGE_ACCOUNT
You can copy this from Azure Portal by opening the storage account and checking Properties or JSON view.
Container Name
Enter the blob container where Azure Cost Management writes the export files, for example:
exports
The CostRadar service principal needs Storage Blob Data Reader on this container or on a storage-account scope that includes this container.
Export Folder Path
Enter the stable folder prefix above Azure's date-range and RunID folders.
For example, if Azure writes files like this:
costradar/daily/20260601-20260630/RUN_ID/manifest.json
costradar/daily/20260601-20260630/RUN_ID/part-0000.csv.gz
enter:
costradar/daily
Do not paste the date-range folder, RunID folder, manifest path, or individual CSV file path. Those folders change as Azure runs new exports, so CostRadar needs the stable prefix that stays the same between runs.
Advanced options
Compression and Export Name are optional advanced fields. Export Name is an optional label for the export; use the Azure export name or another label your team recognizes. It is not a secret.
Compression should match the files in the storage container:
Gzip / .csv.gzwhen Azure writes compressed CSV files.CSV / uncompressedwhen Azure writes plain.csvfiles.
This must match the files in the storage container.
Common validation errors
Access denied or unable to read blobs
Confirm Storage Blob Data Reader is assigned to the CostRadar service principal on the export container or storage account. Role assignments can take a few minutes to propagate.
No export files found
Check that the Azure Cost Management export has run successfully and that the Export Folder Path points to the stable prefix above the date-range and RunID folders.
Wrong root folder
If you pasted a path ending in a date range, RunID, manifest.json, or an individual CSV file, replace it with the stable parent folder. For example, use costradar/daily, not costradar/daily/20260601-20260630/RUN_ID.
Wrong compression
If files end in .csv.gz, choose gzip. If files end in .csv, choose uncompressed CSV.
Data appears delayed after validation
Azure billing data and Azure export files can lag. CostRadar can import only the files Azure has already published to the storage container. Recent current-month data may change as Azure revises billing data.
What to send support
If Storage Export still fails, send support the subscription display name, the storage account name, the container name, the export folder path you entered, the approximate time the Azure export last ran, and the validation error text. Do not send client secrets, access keys, SAS URLs, or exported cost files in chat.