Reply
Advisor
Posts: 21
Registered: ‎11-03-2015
Accepted Solution

Power BI Dataflow to Azure Data Lake Gen2 Setup

Excited to see all of the new Power BI Dataflow capabilities especially with using Azure Data Lake Gen2 as the storage location for those Dataflows.

 

But, I have been trying to get it setup using the Microsoft provided step-by-step guide on: https://docs.microsoft.com/en-us/power-bi/service-dataflows-connect-azure-data-lake-storage-gen2. The specific steps that I have been unable to complete are in the 'Grant Power BI permissions to the file system' section steps #7 and #8. I have only tried it using Azure Storage Explorer v1.6 since that is the method shown in the documentation.

 

When I try to Add the Object IDs for the Power BI Service and Power Query Online as shown in the screenshots I only get an error saying that it cannot find those User IDs/Groups. I have attached the full error message captured in ASE to see if that might help track it down. I did this with my elevated permissions Azure account and also had our admin grant me full Admin rights over our tenant and could not get it working.

 

Has anyone been able to complete the steps to grant the Power BI Service and Power Query Online applications access to the powerbi blob container in their Azure Data Lake Store Gen2? I even re-created the ADLSg2 yesterday since I had it created in the original private preview. Without these steps I have not been able to complete the process in the Power BI Admin screen to connect Power BI up to the Data Lake for Dataflows.

 

Thanks,

Steve

 

Below is the error message from ASE when trying to Add the Power BI Service Object ID in the Manage Access dialog:

FROM CHILD PROCESS 24608: {"id":"MessagePassingHostProxy151","messageType":"FunctionResponse","response":{"type":"error","error":"{\n  \"message\": \"{\\\"message\\\":\\\"HTTP ERROR 404: Not Found\\\",\\\"response\\\":{\\\"statusCode\\\":404,\\\"body\\\":\\\"{\\\\\\\"odata.error\\\\\\\":{\\\\\\\"code\\\\\\\":\\\\\\\"Request_ResourceNotFound\\\\\\\",\\\\\\\"message\\\\\\\":{\\\\\\\"lang\\\\\\\":\\\\\\\"en\\\\\\\",\\\\\\\"value\\\\\\\":\\\\\\\"Resource 'ee4bcd73-1e25-4154-befe-f8180e3f14d5' does not exist or one of its queried reference-property objects are not present.\\\\\\\"},\\\\\\\"requestId\\\\\\\":\\\\\\\"724657f5-7d0c-4896-9230-5226b96ff9b6\\\\\\\",\\\\\\\"date\\\\\\\":\\\\\\\"2018-12-11T16:34:51\\\\\\\"}}\\\",\\\"headers\\\":{\\\"cache-control\\\":\\\"no-cache\\\",\\\"pragma\\\":\\\"no-cache\\\",\\\"content-type\\\":\\\"application/json; odata=minimalmetadata; streaming=true; charset=utf-8\\\",\\\"expires\\\":\\\"-1\\\",\\\"server\\\":\\\"Microsoft-IIS/10.0\\\",\\\"ocp-aad-diagnostics-server-name\\\":\\\"QAcXmVYUoJaUSrw2ftJmfZfMjTyUjtSkz5dJvbTYsQ0=\\\",\\\"request-id\\\":\\\"724657f5-7d0c-4896-9230-5226b96ff9b6\\\",\\\"client-request-id\\\":\\\"587c72a6-407f-4024-95b6-fbc710401123\\\",\\\"x-ms-dirapi-data-contract-version\\\":\\\"1.6\\\",\\\"ocp-aad-session-key\\\":\\\"hqhNfIg59I6k-OSo-mWlGPFJUAeZDoSngtOC2dH4v4szDJot9OmJGoysNRoVpgZKj_T_ctHrILdmnh-x_E_1VTEIkhcExHCXJk-BPGZKyTzxWQqqAJYh7r3biDvlbfg1.tMDQP1ZfH1teuhHoVGVcULDVzDSD4PiGem3E2On_fFM\\\",\\\"dataserviceversion\\\":\\\"3.0;\\\",\\\"strict-transport-security\\\":\\\"max-age=31536000; includeSubDomains\\\",\\\"access-control-allow-origin\\\":\\\"*\\\",\\\"x-aspnet-version\\\":\\\"4.0.30319\\\",\\\"x-powered-by\\\":\\\"ASP.NET\\\",\\\"duration\\\":\\\"430184\\\",\\\"date\\\":\\\"Tue, 11 Dec 2018 16:34:51 GMT\\\",\\\"connection\\\":\\\"close\\\",\\\"content-length\\\":\\\"294\\\"},\\\"request\\\":{\\\"uri\\\":{\\\"protocol\\\":\\\"https:\\\",\\\"slashes\\\":true,\\\"auth\\\":null,\\\"host\\\":\\\"graph.windows.net\\\",\\\"port\\\":443,\\\"hostname\\\":\\\"graph.windows.net\\\",\\\"hash\\\":null,\\\"search\\\":\\\"?api-version=1.6\\\",\\\"query\\\":\\\"api-version=1.6\\\",\\\"pathname\\\":\\\"/cb2bab3d-7d90-44ea-9e31-531011b1213d/users/ee4bcd73-1e25-4154-befe-f8180e3f14d5\\\",\\\"path\\\":\\\"/cb2bab3d-7d90-44ea-9e31-531011b1213d/users/ee4bcd73-1e25-4154-befe-f8180e3f14d5?api-version=1.6\\\",\\\"href\\\":\\\"https://graph.windows.net/cb2bab3d-7d90-44ea-9e31-531011b1213d/users/ee4bcd73-1e25-4154-befe-f8180e3f14d5?api-version=1.6\\\"},\\\"method\\\":\\\"get\\\",\\\"headers\\\":{\\\"Content-Type\\\":\\\"application/json\\\",\\\"Authorization\\\":\\\"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IndVTG1ZZnNxZFF1V3RWXy1oeFZ0REpKWk00USIsImtpZCI6IndVTG1ZZnNxZFF1V3RWXy1oeFZ0REpKWk00USJ9.eyJhdWQiOiJodHRwczovL2dyYXBoLndpbmRvd3MubmV0LyIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0L2NiMmJhYjNkLTdkOTAtNDRlYS05ZTMxLTUzMTAxMWIxMjEzZC8iLCJpYXQiOjE1NDQ1NDU3OTEsIm5iZiI6MTU0NDU0NTc5MSwiZXhwIjoxNTQ0NTQ5NjkxLCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOEpBQUFBTExXL2dQcVV2ZmhjODM1MGtrYXhKdVFsMGpUcU00N3dwTG14WGo3b05oZGJHRTRYTjZXdk01VFJYanhuWm9jdzh2Z2I3emZDWXR6ZWw5NFo4WHRsd0RKZ3l0LzFqSlFWbWZzNGlVZm44STQ9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6IjA0YjA3Nzk1LThkZGItNDYxYS1iYmVlLTAyZjllMWJmN2I0NiIsImFwcGlkYWNyIjoiMCIsImZhbWlseV9uYW1lIjoiV2FrZSIsImdpdmVuX25hbWUiOiIhU3RldmUiLCJpcGFkZHIiOiIyMDYuODAuMjA5LjE5NiIsIm5hbWUiOiIhU3RldmUgV2FrZSIsIm9pZCI6ImZjOTAxZTNkLWE0MGQtNDgzOC05MDZlLWE5Y2UwYTk0ZTk0MyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTQ3MjQyNzI2LTM2MzMxNTgwLTE4ODQ0MTQ0NC0xNzI1NTkiLCJwdWlkIjoiMTAwMzdGRkVBODFDNTIyNyIsInNjcCI6IjYyZTkwMzk0LTY5ZjUtNDIzNy05MTkwLTAxMjE3NzE0NWUxMCIsInN1YiI6Ilo0TjlINTQ4alBPNUlGSVE0dS1FU01OdllHRE02WndNVEs3dm80LVljSzQiLCJ0ZW5hbnRfcmVnaW9uX3Njb3BlIjoiTkEiLCJ0aWQiOiJjYjJiYWIzZC03ZDkwLTQ0ZWEtOWUzMS01MzEwMTFiMTIxM2QiLCJ1bmlxdWVfbmFtZSI6IiFzd2FrZUBicnduY2FsZC5jb20iLCJ1cG4iOiIhc3dha2VAYnJ3bmNhbGQuY29tIiwidXRpIjoiOGVCcThEa0o4VVNrT05RQ2dZa2tBQSIsInZlciI6IjEuMCJ9.DVQ1-dpeAfEPX9Lf62JuVtheaAiTNECZpTfoihlL93TKFzEJW-N8alEwDLAfkGTwvj92GRgi7MThS-HqWGfAla4C0ntKxuzq8NhTeGEuACNXVUDNO5mtfYi1W2jJDJirduMSOgdNkkBqCnFvVMqM49cUAYEaPOD-Wn-Fb-U_L3K-hOaZ2EL2_aFLXpm5w-JJs9MPQXcoOSR1rT1x5L9x7At0hIn-A97RzzabFTAMfoolAVDymjLrT2It5jf1qn1vZ1aGXBZPLH_uF7_Aq_v_gTPECuuj-B2rJV3FokQHHCYu9iNFl7lt95ZP_lv_Q9nH01QNp-xjxyHfTrub7iCYCA\\\",\\\"content-length\\\":0}}},\\\"body\\\":\\\"{\\\\\\\"odata.error\\\\\\\":{\\\\\\\"code\\\\\\\":\\\\\\\"Request_ResourceNotFound\\\\\\\",\\\\\\\"message\\\\\\\":{\\\\\\\"lang\\\\\\\":\\\\\\\"en\\\\\\\",\\\\\\\"value\\\\\\\":\\\\\\\"Resource 'ee4bcd73-1e25-4154-befe-f8180e3f14d5' does not exist or one of its queried reference-property objects are not present.\\\\\\\"},\\\\\\\"requestId\\\\\\\":\\\\\\\"724657f5-7d0c-4896-9230-5226b96ff9b6\\\\\\\",\\\\\\\"date\\\\\\\":\\\\\\\"2018-12-11T16:34:51\\\\\\\"}}\\\"}\"\n}"}}

Accepted Solutions
Frequent Visitor
Posts: 5
Registered: ‎09-16-2018

Re: Power BI Dataflow to Azure Data Lake Gen2 Setup

[ Edited ]

Hi,
 
There is a temporary issue with settings ACLs through Microsoft Azure Storage Explorer, until this is resolved, as a temporary mitigation you can try using this powershel script:https://setacls.blob.core.windows.net/scriptfolder/setacls.ps1
 
In order to run the script, your global tenant admin needs to have "Storage Blob Data Contributor (Preview)" role on your storage account.
 
Instructions on how to run this script:
    
1. Login as global tenant administrator into Azure portal and open PowerShell (Cloud Shell) in your browser
2. Choose Azure CLI 2.0 (type ‘az’)
3. Upload the script (there is a button for it)
4. Run the script. For example:  /home/admin/setacls -storageaccountname your_alds_gen2_storage_account_name

 

The script will ask you to sign in, please follow the instructions.
 
Thanks,
Michael

 

 

Hi,

 

There is no more need in this workaround, please use ASE 1.6.2 which is availably for update and download.

 

Thanks,

Michael

View solution in original post


All Replies
Regular Visitor
Posts: 38
Registered: ‎07-10-2015

Re: Power BI Dataflow to Azure Data Lake Gen2 Setup

[ Edited ]

I was coming here to post about the exact same problem.

I cannot get past that step either.

 

It seems that those users (object ids?) seem to already need to be populated in the list because anything I put into the line as far as new user and hit "Add", it fails to find.

 

Hopefully someone has gotten past this and can provide some insight.

Seems like just a step missing in the documentation.

 

I see @MatthewRoche is providing feedback on some of the datflows posts.  Maybe he can help us.

Frequent Visitor
Posts: 13
Registered: ‎07-23-2015

Re: Power BI Dataflow to Azure Data Lake Gen2 Setup

Hi @healthEteam - Unfortunately I'm still working throigh the same process. I'll help when I'm able, but it will likely be a day or three...

Regular Visitor
Posts: 38
Registered: ‎07-10-2015

Re: Power BI Dataflow to Azure Data Lake Gen2 Setup

Great - thanks for responding.
Everything I know about dataflows thus far have been from your presentations.
So figured if anyone would know it would likely be you.
Glad to know you are still working through it as well.
Frequent Visitor
Posts: 13
Registered: ‎07-23-2015

Re: Power BI Dataflow to Azure Data Lake Gen2 Setup

Thank you!

 

(Blushing furiously)

 

One of the benefits of working at Microsoft means that I get to play with all the cool toys...


...but to test this feature end to end I need to set up my own Power BI tenant, and that isn't fitting into my week so far.  :-(

Frequent Visitor
Posts: 6
Registered: ‎12-04-2018

Re: Power BI Dataflow to Azure Data Lake Gen2 Setup

[ Edited ]

Same issue here when I try grant permissions to Apps. Following https://community.powerbi.com/t5/Service/Power-BI-Dataflow-to-Azure-Data-Lake-Gen2-Setup/m-p/583564/....

 

It seems Azure Storage Explorer cant grant permissions to Apps ObjectId. The ids showed in the Storage Explorer screenshot are not the same as in the previous App ObjectId Screenshot. 

 

 

Regular Visitor
Posts: 16
Registered: ‎03-29-2018

Re: Power BI Dataflow to Azure Data Lake Gen2 Setup

Hi Steve, 

 

 

I am sorry for the trouble setting ACLs on the storage account per the documentation. The error you are seeing is a bug in Azure Storage Explorer that unfortunatly prevents setting ACLs for anything but people. It is being fixed, should be available soon, and we are working with the Storage Explorer team on an exact ETA.

 

Until it is fixed, the only option for setting ACLs is via REST API call as documented here:

https://docs.microsoft.com/en-us/rest/api/storageservices/datalakestoragegen2/filesystem/setproperti...

but unfortunatly its not trivial, even with the above documentation.

 

 

 

 

We are working to expedite the fix and also find an alternative path until such a fix is available, I hope to have an update soon.

Thank you,

Ben

 

 

 

Frequent Visitor
Posts: 6
Registered: ‎12-13-2018

Re: Power BI Dataflow to Azure Data Lake Gen2 Setup

Hi Everyone,

Just FYI I ran into the same issue today. However I’ve got one small wrinkle. While I was not able to update the ACLs, I was able to get past the screen in Power BI. Now the service is linked I to my storage account, but does not appear to be writing files to the data lake. FYI.

Josh
Highlighted
Regular Visitor
Posts: 16
Registered: ‎03-29-2018

Re: Power BI Dataflow to Azure Data Lake Gen2 Setup

I would like to update that a new version with the ACL issue fix should be available next week. Until then, another option is to opt in for insider builds of Azure Storage Explorer. In Azure Storage Explorer, click on the Help menu, then Opt in to insider builds. a build should be available via that route sooner.

 

 

Regular Visitor
Posts: 16
Registered: ‎03-29-2018

Re: Power BI Dataflow to Azure Data Lake Gen2 Setup

Hi Josh, 

 

 

The setup of the storage account must happen as documented - the ACLs are critical for the feature to work and the storage account should not be connected to Power BI without them. I recommend you do not try to use the feature until ACLs are set on the filesystem. 

 

The fix from Azure Storage Explorer should be available next week, but as mentioned above you can opt in for insider builds and get it sooner. 

 

Please let me know if you have questions or if you run into any trouble after setting the ACLs.

 

Thanks,

Ben