Самый быстрый способ удалить все кубы в экземпляре службы анализа AzureC#

Место общения программистов C#
Ответить
Anonymous
 Самый быстрый способ удалить все кубы в экземпляре службы анализа Azure

Сообщение Anonymous »

У меня есть конвейер CI, в котором я провожу серию тестов на нескольких кубах, размещенных на экземпляре службы анализа Azure (AAS). В рамках этого конвейера я хочу «очистить» сервер от любых существующих кубики. Для этого я использую следующий код C#:

Код: Выделить всё

using (Tabular.Server server = new Tabular.Server())
{
server.Connect(serverConnectionString);

// Collect databases to drop in a separate list
List databasesToDrop = new List();

foreach (Microsoft.AnalysisServices.Tabular.Database element in server.Databases)
{
databasesToDrop.Add(element);
}

databasesToDrop.AsParallel().ForAll(element =>
{
try
{
element.Drop();
}
catch (Exception e)
{
// Best attempt, we ignore failures
}
});
}
В основном... работает, хотя иногда экземпляр AAS не освобождает память после удаления кубов, но это не моя главная проблема.
Основная проблема заключается в том, что это занимает более 10 минут, что очень много для шага CI. Есть ли более эффективный способ очистить весь сервер AAS от всех кубов, я искал и не нашел многого?
Похожие подходы в PowerShell работает не так хорошо и, как правило, использует тот же подход.

Подробнее здесь: https://stackoverflow.com/questions/793 ... e-instance
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»