Как вызвать пакетный сервис Azure из конвейеров Azure - PullRequest
0 голосов
/ 21 сентября 2018

Я создал пакетный сервис Azure, который обрабатывает некоторую логику.Я хочу вызвать пакет Azure из конвейера Release как пустой процесс.Возможно ли это?

Пакетный сервис Azure записан в пакетном SDK Azure в боковом консольном приложении .net

Или я хочу вызывать функции Azure из конвейеров Azure, которые будут косвенно вызывать пакет Azure.

Пожалуйста, предложите

1 Ответ

0 голосов
/ 26 июня 2019

Используя YAML в конвейерах Azure, вы можете вызывать функцию Azure https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/azure-function?view=azure-devops

Из функции Azure вы можете получить доступ к пакетному клиенту Azure с помощью пакетного SDK Azure

, который я на самом деле использую 3Функции Azure: один для создания пакета (пул и задания), один для мониторинга (задание выполняется в задании) и один для очистки (удаление пула) после его завершения.

[FunctionName("StartBatch")]
public static async Task StartBatch([QueueTrigger("batchprocess", Connection = "QueueStorage")] Batch batch, ILogger log)
{
    log.LogInformation($"Function processed a request for {batch}");

    int batchDelay = Int32.Parse(Environment.GetEnvironmentVariable("BatchDelay"));
    string batchAccountUrl = Environment.GetEnvironmentVariable("BatchAccountUrl");
try
{
    Task<string> tokenProvider() => Utils.GetAuthenticationTokenAsync();
    using (var client = BatchClient.Open(new BatchTokenCredentials(batchAccountUrl, tokenProvider)))
    {
        Infrastucture.BuildBatchInfrastructure(client, batch, log);
        await client.JobOperations.AddTaskAsync(batch.JobName, Job.AddTasksAsync(batch, log).Result);
    }
    log.LogInformation($"Waiting {batchDelay} minutes until starting montioring the batch {batch}");

    await Utils.AddMessageToQueue(batch, batchDelay, "monitorbatch");
}
catch (Exception exp)
{
    log.LogError("Issue ", exp.StackTrace);
    await Utils.AddMessageToQueue(batch, 0, "failedbatchprocess");
}

}

...