从arm模板更新PowerBI工作空间集合时出错

时间:2017-02-13 17:11:55

标签: powerbi powerbi-embedded arm-template azure-resource-manager

我们已经使用以下非常简单的手臂模板

部署了PowerBI嵌入式工作空间集合
{
  "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {},
  "variables": {},
  "resources": [
    {
      "comments": "Test Power BI  workspace collection",
      "apiVersion": "2016-01-29",
      "type": "Microsoft.PowerBI/workspaceCollections",
      "location": "westeurope",
      "sku": {
        "name": "S1",
        "tier": "Standard"
      },
      "name": "myTestPowerBiCollection",
      "tags": {
        "displayNmae": "Test Power BI workspace collection"
      }
    }
  ],
  "outputs": {}
}

对于部署,我们使用了众所周知的Powershell命令New-AzureRmResourceGroupDeployment在创建之后,如果我们再次尝试执行该命令,则会失败并显示以下消息

New-AzureRmResourceGroupDeployment : Resource  Microsoft.PowerBI/workspaceCollections 'myTestPowerBiCollection' failed with message
{
   "error": {
     "code": "BadRequest",
     "message": ""
   }
}

如果我们删除集合并再次执行成功没有问题。我尝试使用-Mode参数(Incremental, Complete)的两个选项并没有帮助,即使增量是默认选项。

这对我们来说是一个主要问题,因为我们希望将集合作为持续交付的一部分进行配置,并且我们会多次执行此操作。

有关如何绕过此问题的任何想法?

1 个答案:

答案 0 :(得分:0)

正如您所提到的,如果存在PowerBI工作区集合名称,当我们再次尝试部署PowerBI工作区集合时,它会抛出预期。

如果可以添加自定义逻辑代码,我们可以使用Get-AzureRmPowerBIWorkspaceCollection来检查PowerBI Workspace Collection是否存在。如果它存在,它将返回PowershellBIworkspaceCollection对象,否则将抛出未找到的异常。

我们还可以使用Remove-AzureRmPowerBIWorkspaceCollection命令删除PowerBI Workspace Collection。如果存在PowerBI工作区连接,我们可以根据逻辑跳过部署或删除并更新它。