Forum Discussion

jip34's avatar
jip34
Regular Visitor
5 months ago

Need to activate automatic refresh from ADLS Gen2 datasource

Hi everyone,

I'm facing a complex issue while trying to configure scheduled refresh for a Power BI dataset connected to CSV files stored in Azure Data Lake Storage Gen2 (ADLS Gen2). Here is the full technical context.


1. Architecture & Authentication

  • The CSV files are generated by Nexthink Data Exporter and stored in an ADLS Gen2 container.
  • The files are overwritten (delete + recreate) at every export.
  • Power BI Desktop connects successfully using my technical account.
  • Power BI Service must refresh using a Service Principal (App Registration).

I configured the Service Principal with:

  • Azure RBAC: Storage Blob Data Contributor
  • Access ACLs:
    • r-x on the filesystem
  • Default ACLs:
    • r-x on parent folders
    • r-- for files

Default ACLs are needed because Microsoft specifies that:

“ACLs are not inherited retroactively. Setting an ACL on a parent directory does not apply permissions to existing child items.”
Source: Microsoft Learn – ADLS Gen2 ACLs
https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-access-control

Since Nexthink recreates the files, only Default ACLs ensure that newly created CSVs inherit the correct permissions.

So far, this part seems correctly configured.


2. Problem: Power BI Service still refuses scheduled refresh

Even though ACLs and Default ACLs are properly applied, and the files are now stored inside a folder (so Default ACLs can apply), Power BI Service still shows:

“You cannot schedule refresh for this dataset.”

The authentication with the Service Principal works, but refresh remains disabled.


3. Root cause identified: Power BI is not recognizing the source as ADLS Gen2

Even though I select Azure Data Lake Storage Gen2 in Power BI Desktop, when I connect using a URL like:

https://<account>.dfs.core.windows.net/<filesystem>/Exports/<subfolder>/...

Power BI displays the content as:

  • A flat list of files
  • With Binary in the “Content” column

This indicates that Power BI has switched to a Folder/File mode, not ADLS Gen2 mode.

And when the source is treated as a Folder, Power BI Service does NOT support scheduled refresh, even if the storage is ADLS Gen2 and ACLs are correct.

So the refresh cannot be enabled simply because the connector is not recognized properly.


4. What I need help with

How can I force Power BI Desktop to correctly detect the source as Azure Data Lake Storage Gen2, and not fall back to “Folder/File mode”?

More specifically:

  • Is there an exact URL format required so Power BI always recognizes ADLS Gen2?
  • Is there a known issue with ADLS Gen2 path depth causing Power BI to switch to Folder mode?
  • Is there a requirement to always start from the root account URL, then navigate manually through filesystem → folder → file?
  • Is there any additional ADLS configuration that influences how Power BI detects the connector type?

5. What I expect

If Power BI Desktop successfully recognizes the source as ADLS Gen2, then:

  • Power BI Service should allow credential setup for the Service Principal
  • The CSV files should inherit proper permissions through Default ACL
  • And scheduled refresh should finally work

Thanks in advance for any help — I’ve spent days troubleshooting ADLS permissions, Default ACLs, the Service Principal, and the Power BI connector behavior. Any insight from someone who has already dealt with ADLS Gen2 + Nexthink + Service Principal + scheduled refresh would be greatly appreciated.

4 Replies

  • Hi jip34 

     

    What I've done in the past when connecting to ADLS Gen 2 is to use a key in terms of authentication and then to use the Azure Blob Storage connector which has refreshed successfully for customers for many years. I would highly recommend doing this and what you could do in terms of the automation is to use Power Automate to detect a change in the ADLS Gen 2 blob container and then. Refresh the semantic model.

  • v-echaithra's avatar
    v-echaithra
    Community Support

    Hi jip34 ,

    Thanks for the detailed explanation, your analysis is actually spot on, and the behavior you’re seeing is a known pattern with ADLS Gen2 connections in Power BI.

    The root cause here is not related to ACLs, Default ACLs, or the Service Principal configuration, but rather how the data source is being interpreted by Power BI. When you connect using a full DFS path such as https://<account>.dfs.core.windows.net/<filesystem>/Exports/..., Power BI does not recognize this as a true ADLS Gen2 connection. Instead, it treats it as a generic file or web-based source similar to Web.Contents or folder ingestion, which results in the data appearing as a flat list of binaries. In this mode, scheduled refresh is not supported in the Power BI Service, even if authentication is successful.

    To resolve this, the connection must be established using the Azure Data Lake Storage Gen2 connector at the storage account level only, without including the filesystem or folder path in the URL.
    In Power BI Desktop, use Get Data > Azure Data Lake Storage Gen2 and enter only https://<account>.dfs.core.windows.net. From there, navigate through the filesystem and folders within the Power Query UI to reach your CSV files. This ensures that Power BI uses the correct AzureStorage.DataLake connector internally, which is required for Service Principal authentication and enabling scheduled refresh.
    In short, once the source is correctly recognized as ADLS Gen2 instead of a folder/web source, the Service will allow credential configuration using the Service Principal, and scheduled refresh should work as expected.

    Hope this helps.
    Thank you.

  • v-echaithra's avatar
    v-echaithra
    Community Support

    Hi jip34 ,

    We’d like to follow up regarding the recent concern. Kindly confirm whether the issue has been resolved, or if further assistance is still required. We are available to support you and are committed to helping you reach a resolution.

    Best Regards,
    Chaithra E.

  • v-echaithra's avatar
    v-echaithra
    Community Support

    Hi jip34 ,

    May I ask if you have resolved this issue? Please let us know if you have any further issues, we are happy to help.

    Thank you.