For the needs of embedding reports in our SaaS platform we have to provision Power BI embedded capacity in Azure, A SKU capacity. We have a problem though to identify correctly the value of the location property.
First we tried to use the corresponding PowerShell command but when we execute it like this:
New-AzureRmPowerBIEmbeddedCapacity -ResourceGroupName "rc-reporting" -Name "rcdevembeddedcpacity" -Administrator "powerbidevmaster@xxxxx.onmicrosoft.com" -Location "northeurope" -Sku A1
we get back the following error
New-AzureRmPowerBIEmbeddedCapacity : Invalid Sku: 'A1'. Available Skus are: ''
And whatever the values we tried (A1 to A6) we got back the same error.
We managed to provision embedded capacity when we used the following ARM template
{ "comments": "Power BI embedded capacity", "apiVersion": "2017-10-01", "type": "Microsoft.PowerBIDedicated/capacities", "location": "North Europe", "name": "[variables('powerbiCapacityName')]", "sku": { "name": "A1", "tier": "PBIE_Azure" }, "properties": { "administration": { "members": [ "powerbidevmaster@xxxxxx.onmicrosoft.com" ] } } }
And the command to deploy
New-AzureRmResourceGroupDeployment -ResourceGroupName "rc-reporting" -TemplateFile .\powerbi.json -prefix "rcdev"
Our main issue is to identify the right value for the Location property. We can't use whatever location we would like, for example the location resource group resides in. It's related to the location the Power BI Service exists for the data center or similar. According to the documentation here
"The location where Power BI is hosted for your tenant. This setting is resolved automatically, a different location cannot be selected."
Indeed when you try to provision the capacity through Azure portal you can only select one location so it's resolved automatically. In our case we need to automate this process and don't have a manual step. So we don't know how to correctly retrieve this location property though PowerShell. Omitting completely the Location property results to an error that it is required.