User Profile
robzib
Regular Visitor
Joined 4 years ago
User Widgets
Contributions
Re: Unable to Set-DataGatewayInstaller with PrincipalObjectIds from app
hi v-jianboli-msft Thank you for your suggestion, but my issue is not with gateway install. I've spent some time today to go through my implementation that used to work, and I managed to pinpoint the issue. It turns out that It's no longer possible to PostDatasetUser with type App and use service principal identifier. If you go to bind-to-gateway-in-group documentation there is an info block stating "Add the API caller principal as a data source user on the gateway." but when I try to do that I get an error. If you go to post-dataset-user documentation, under limitation it's stated that "Adding permissions to service principals (app principalType) isn't supported". Not sure what to do because I can't call BindToGateway without adding my principal as user. This used to work because I have Azure tenant used for proof of concept and code that no longer works on another tenant.574Views0likes0CommentsUnable to Set-DataGatewayInstaller with PrincipalObjectIds from app
It used to be possible to run Set-DataGatewayInstaller with principal id (object id) as application. Did something change in the last few weeks because I am running scripts that used to pass with no problems. Currently if I run command below I get "Set-DataGatewayInstaller: Response status code does not indicate success: 401 (Unauthorized)" Set-DataGatewayInstaller -PrincipalObjectIds <App object ID>-Operation Add -GatewayType Resource Because I can't add this, any Gateway Datasource that I create is missing service principal under Manage users and i can't bind dataset to gateway because service principal isn't authorized. Any idea why is this happening?633Views0likes2CommentsRe: How to enter SQL server credentials via API?
Hi @v-chenwuz-msft so I've decided to test gateways and see if I can make them work with the help of your links, and I'm stuck at Add data source step. I think the issue is connection details because I'm getting Bad request every time. Parameters that I'm sending are: Data Source Type: "SQL" Connection details: "{"server":"dell0\\dbi","database":"dbi6452"}" Credential type: "Basic credentials" I'm trying to do that from EncryptCredentials.sln example you attached. Google returned a couple of threads with same issues and I can't find a working example. I'm also not sure in what format should connection details be, this is copy and paste from app.powerbi when I do it via GUI over there. Also, gateway needs to be installed with service principal account or else I can't see it with Rest API, but I managed to get some instructions online about that so that part works now. Any help is appreciated.1.3KViews0likes0CommentsRe: What are my multi-tenancy options?
Hi AlexisOlson that approach would not work because there is a limit of 1000 data sources per workspace, and we have more than 1000 clients. That's why I was exploring approach one and wanted to copy everything from our "staging" workspace to per tenant workspace.2.2KViews0likes1CommentWhat are my multi-tenancy options?
Hi, For the past 20 days or so, I've been following Service principal profiles for multi-tenancy apps in Power BI Embedded to try and understand if there is some way to make Power BI work with our use case (it's a SaaS product with one database per tenant that's hosted in Azure with 1000+ tenants), and at the moment I am stuck. Let me first describe what I've tried. Approach 1 - Workspace per tenant, each workspace has its own database and single dataset This is something that would be ideal for our needs. We would create a report with our test database (also hosted in Azure) and publish it to "Master Workspace". So I created a simple report in Power BI Desktop (Azure DB - DirectQuery) and published it to MasterWorkspace. Embedding works fine, and now I want to programmatically add more workspaces. I've been using Rest API to create a new workspace, add permissions, copy reports and datasets to Tenant1 workspace, and then I called UpdateDatasourcesInGroup to change database from test to tenant1. Everything went fine but when I try to display report I get an error that connection credentials for tenant1 are not set and only way to set them is to go to Power BI service and manually enter them (which I can't do 1000+ times). At the moment I am investigating parameters for server and database and I will see if that might work, but I have a feeling that I'll be presented with an identical issue. Approach 2 - Single Workspace for all tenants, single reporting database Not that ideal, but could work if we copy data from all tenants into a single database periodically and add tenant ID to rows. I've been using parameters in my queries for reports and everything seems to work fine from within Power BI Desktop (when I update parameter, data is fetched and displayed) but when I call UpdateParametersInGroup and then try to embed a report I am still "served" with data from test database. Calling RefreshDatasetInGroup after parameter update also didn't display data from tenant1 database (I had to wait some 20 minutes until update was actually registered, and new data was displayed). Is there a way to call report with parameters so that change is visible right away? Use case would be that multiple such calls could be done independently for multiple tenants at the same time. So far I was unable to achieve that. (I actually hit a limit on Refresh after a couple of tries) Any input on how to integrate Power BI into our use case would be appreciated.2.3KViews0likes3CommentsHow to enter SQL server credentials via API?
I have workspace1 with one report and one dataset that's targeting db1. I managed to create workspace2 with api, moved single report and dataset from workspace1 to workspace2 and I've also updated data source to target db2 with UpdateDatasourcesInGroup endpoint. They are both on the same server. Is there a way to enter server credentials without me going to PowerBI and manually entering it? I see that it used to be possible via connection string property but it's now obsolete. Edit: Just to be clear I need to set username and password to my SQL instance1.5KViews0likes4Comments
Data Privacy
Microsoft Fabric Community and Privacy
To learn more about how we manage your data, please review the Microsoft Fabric Community Data Privacy guide.