3

我们已经使用以下非常简单的 arm 模板部署了 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)并且没有帮助,即使增量是默认选项。

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

关于如何绕过这个问题的任何想法?

4

1 回答 1

1

正如您所提到的,如果 PowerBI Workspace Collection 名称存在,当我们再次尝试部署 PowerBI Workspace Collection 时,它会引发预期。

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

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

于 2017-02-14T02:43:03.557 回答