Я запускаю приложение-функцию Azure в соответствии с планом потребления и хочу отслеживать количество запущенных в данный момент экземпляров. Использование конечной точки формата REST API
https://management.azure.com/subscriptions/{subscr}/resourceGroups/{rg}
/providers/Microsoft.Web/sites/{appname}/instances?api-version=2015-08-01
Я могу получить экземпляры. Однако результат не соответствует информации, которую я вижу в Application Insights / Live Metrics Stream.
Например, прямо сейчас App Insights показывает 4 сервера в сети, в то время как вызов API возвращает только один (GUID этого 1 экземпляра также входит в состав руководств App Insights).
Кому я могу доверять? Есть ли лучший способ получить количество экземпляров (например, из App Insights)?
ОБНОВЛЕНИЕ: похоже, что данные из REST API неверны.
Я отправлял 10000 сообщений в очередь, регистрируя каждый вызов функции с соответствующим идентификатором экземпляра, который обрабатывал запрос.
Хотя сообщения продолжают поступать, а количество невыполненных работ растет, количество экземпляров из REST API кажется правильным (масштабируется от 1 до 12). После остановки отправки сообщаемое количество экземпляров быстро уменьшается (в конечном итоге возвращается к 1, пока процессоры все еще заняты).
Но, основываясь на скорости и журналах выполнения, я могу сказать, что фактическое количество экземпляров продолжало расти и достигло 15 экземпляров на момент обработки последнего сообщения.
ОБНОВЛЕНИЕ 2: похоже, что SDK отказывается сообщать о более чем 20 серверах. Показатель составляет 20, в то время как App Insights продолжает стабильно расти и уже показывает 41.
(instance count from REST API seems to be correct (scaled from 1 to 12). After sending stops, the reported instance count rapidly goes down (eventually back to 1, while processors are still busy)
, что и вы. - person Tom Sun - MSFT   schedule 01.08.2017