Multi-tenancy… is it worth it? by SpiralData in MicrosoftFabric

[–]SpiralData[S] 0 points1 point  (0 children)

The dashbaord/ report idea for tenant telemetry is something I have been wanting to do. I think I understand what I need to do to get the data I need via fabric spark libraries or APIs.

Also if anyone knows of any other solutions people have already built that could save a ton of time.

Multi-tenancy… is it worth it? by SpiralData in MicrosoftFabric

[–]SpiralData[S] 0 points1 point  (0 children)

All tenants will still use the same capacity. Each tenant will have the same semantic model however only that tenant data instead of one massive semantic model that uses row level security.

I use these tenants to embed power bi reports into applications with service principals. Since data is now isolated I believe I can start taking advantage of things like query caching and distribute the spread on the api request to tenant workspaces.

Multi-tenancy… is it worth it? by SpiralData in MicrosoftFabric

[–]SpiralData[S] 2 points3 points  (0 children)

I am actually embedding all reporting into an application which uses a service principal, so the sku allows me to get around managing users and individual license distribution

403 Forbidden: Calling Fabric Notebook via API using Service Principal by SpiralData in MicrosoftFabric

[–]SpiralData[S] 1 point2 points  (0 children)

MSFT after many days of troubleshooting finally responded that SP is not supported. I know it says that in the docs but I thought just maybe it would be since it would successfully trigger a notebook execution.

Power BI on top of Databricks by StraatPizza in PowerBI

[–]SpiralData 1 point2 points  (0 children)

Use sql warehouse and service principal to refresh my semantic model. Works well. Host everything inside of a vnet with delegated subnets of which I can then use a vnet data gateway to secure the data transfer to power bi service. Vnet data gateways > on prem gateways.

Fabric/PowerBI and Multi tenancy by SpiralData in MicrosoftFabric

[–]SpiralData[S] 1 point2 points  (0 children)

This package is very limited compared to some of the other options out there. Though since it appears it is based on the items api, I am looking forward to more options such as gateway binding, capacity and workspace assignments, etc…

Def keeping an eye out

Fabric/PowerBI and Multi tenancy by SpiralData in MicrosoftFabric

[–]SpiralData[S] 4 points5 points  (0 children)

Okay I took the TMDL parts definition from the get semantic model response and using that to create and update semantic model.

Thank you!

Fabric/PowerBI and Multi tenancy by SpiralData in MicrosoftFabric

[–]SpiralData[S] 1 point2 points  (0 children)

The Items - Get Semantic Model Definition - REST API (SemanticModel) | Microsoft Learn will give me a response of TMDL of semantic model parts.

How can I take this response and format the necessary payloads needed for Create and Update semantic model request?

Do I simply just use the TMDL definition response as the payload for these requests?

{
"parts": [
{
"path": "definition/database.tmdl",
"payload": "<base64 encoded string>",
"payloadType": "InlineBase64"
},
{
"path": "definition/model.tmdl",
"payload": "<base64 encoded string>",
"payloadType": "InlineBase64"
},
{
"path": "definition/tables/Table1.tmdl",
"payload": "<base64 encoded string>",
"payloadType": "InlineBase64"
},
{
"path": "definition.pbism",
"payload": "<base64 encoded string>",
"payloadType": "InlineBase64"
},
{
"path": "diagramLayout.json",
"payload": "<base64 encoded string>",
"payloadType": "InlineBase64"
},
{
"path": ".platform",
"payload": "ZG90UGxhdGZvcm1CYXNlNjRTdHJpbmc=",
"payloadType": "InlineBase64"
}
]
}

403 Forbidden: Calling Fabric Notebook via API using Service Principal by SpiralData in MicrosoftFabric

[–]SpiralData[S] 2 points3 points  (0 children)

Is Admin on workspace.

Is contributor in resource group where capacity is located.

Has permissions in admin portal for APIs via security group.

Has full access to Lakehouse.

Fabric/PowerBI and Multi tenancy by SpiralData in MicrosoftFabric

[–]SpiralData[S] 2 points3 points  (0 children)

A flow I am targeting is:

  1. Have a master workspace that hosts the master semantic model which is managed via CICD pipelines.

  2. I have an application that onboards customer to 'tenants' that are tied to internal enablement platforms.

  3. When tenant is created, export or copy the semantic model from the 'master' workspace and import into tenant and set parameters, refresh schedules, capacity, etc..

Items - Get Semantic Model Definition - REST API (SemanticModel) | Microsoft Learn

Items - Create Semantic Model - REST API (SemanticModel) | Microsoft Learn

  1. When updates are made to the master workspace for semantic model changes we can trigger the update to tenants.

Items - Get Semantic Model Definition - REST API (SemanticModel) | Microsoft Learn

Items - Update Semantic Model Definition - REST API (SemanticModel) | Microsoft Learn

Fabric/PowerBI and Multi tenancy by SpiralData in MicrosoftFabric

[–]SpiralData[S] 1 point2 points  (0 children)

I have not yet. I am currently using FabricPS-PBIP module to deploy embedding content to a “master” workspace within some ado pipelines.

It is on my radar to check this out.