azure-connectionstorage-exportonboardingtroubleshootingno-datacost-pulldata-delaydata-accesssecurityreader-roleexports

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.

Last reviewed 2026-06-20

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:

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

  1. Connect the Azure subscription in CostRadar using the normal Azure subscription connection flow.
  2. Go to Dashboard > Azure Subscriptions.
  3. Find the connected subscription row.
  4. Select Use Storage Export or Edit Storage Export.
  5. 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:

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.