Мы внедряем экземпляр Tabular SSAS как часть локального конвейера сборки и выпуска azure, используя Microsoft.AnalysisServices.Deployment.exe
с файлом .asdatabase
.
Я пытаюсь найти способ обновления ( реляционная БД) строка подключения источника данных на этапе выпуска.
Большинство решений, которые я смог найти, используют SSIS, чего у нас нет, поэтому я бы настоятельно предпочел не вводить его для этой задачи.
Я вижу, что соединения определены в .asdatabase
файле:
"dataSources": [
{
"name": "sourceDB1",
"connectionString": "Data Source=xxxx",
...
},
{
"name": "sourceDB2",
...
}
]
Я использую этот скрипт powershell для обновления строк соединения:
if($args[0] -eq $null)
{
Write-Host "Updates .asdatabase connection string. Parameters: %source name% %source connection string%"
}
else{
$source=$args[0]
$connectionstring=$args[1]
write-host "updating " $source " connection string..."
$a = Get-Content 'Model.asdatabase' -raw | ConvertFrom-Json
$a.model.datasources | % {if($_.name -eq $source){$_.connectionString=$connectionstring}}
$a | ConvertTo-Json -depth 100| set-content 'Model2.asdatabase'
If ($?)
{
write-host "updated successfully"
}
}
Есть ли более вменяемый / устойчивый подход?
Смежный вопрос: Непрерывная интеграция и табличное развертывание SSAS в Azure Службы аналитики