Возможно ли для Azure Application Insights Alert вызвать другую функцию? - PullRequest
0 голосов
/ 08 июня 2018

Я хотел бы использовать Application Insights для мониторинга приложения логики, которое объединяет несколько функций Azure.Я хочу, чтобы цепочка была максимально безопасной, и если что-то пойдет не так, я хочу получить http-запрос, который не был правильно обработан функциями.Я подумал, что мог бы выдавать оповещения от Application Insights, когда что-то идет не так, однако я не уверен, как получить сообщение, которое вышло из строя, в большой двоичный объект или в «очередь сообщений об ошибках».

Возможно ли это для приложенияОповещение Insights, чтобы быть триггером для функции, которая будет добавлять данные в BLOB-объект?

1 Ответ

0 голосов
/ 09 июня 2018

Можно определить группу действий с типом действия запуска функции из блейда Alerts .Как видно из рисунка ниже, аутентификация службы приложений не может быть включена для этой функции.

enter image description here

Вы также можете поднять предупреждение из созданного пользовательского запроса.в аналитике.Например, поиск всех журналов трассировки за последний час, содержащих слово «Ошибка»:

traces |
where message contains "Error" and timestamp >= ago(1h)

enter image description here

Сохраните запрос и создайте новое правило предупрежденияи используйте этот запрос в качестве критерия оповещения.

Получите доступ к содержимому события в вашей функции:

HttpRequestMessageFeature feature = new HttpRequestMessageFeature(request.HttpContext);
HttpRequestMessage req = feature.HttpRequestMessage;

var content = await req.Content.ReadAsStringAsync();

Затем используйте WindowsAzure.Storage SDK, чтобы отправить содержимое в BLOB-объект.

var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);

var blockBlob = container.GetBlockBlobReference(fileName);
await blockBlob.UploadTextAsync(content).ConfigureAwait(false);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...