我们已经使用以下非常简单的手臂模板
部署了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)
的两个选项并没有帮助,即使增量是默认选项。
这对我们来说是一个主要问题,因为我们希望将集合作为持续交付的一部分进行配置,并且我们会多次执行此操作。
有关如何绕过此问题的任何想法?
答案 0 :(得分:0)
正如您所提到的,如果存在PowerBI工作区集合名称,当我们再次尝试部署PowerBI工作区集合时,它会抛出预期。
如果可以添加自定义逻辑代码,我们可以使用Get-AzureRmPowerBIWorkspaceCollection来检查PowerBI Workspace Collection是否存在。如果它存在,它将返回PowershellBIworkspaceCollection对象,否则将抛出未找到的异常。
我们还可以使用Remove-AzureRmPowerBIWorkspaceCollection命令删除PowerBI Workspace Collection。如果存在PowerBI工作区连接,我们可以根据逻辑跳过部署或删除并更新它。