У меня есть веб-приложение Azure, и я включил Ведение журнала диагностики , чтобы можно было регистрировать сообщение трассировки приложения как журнал диагностики. Я использую библиотеку .net logger lib для ведения журнала диагностики, которая добавляет информационное сообщение об отладке или трассировке аудита из методов веб-приложения в контейнер учетной записи хранилища больших двоичных объектов журнала диагностики.
Я заметил, что журналы диагностики добавляют два контейнера в BLOB-объект. Один для Журнал приложений , а другой для Веб-журнал при включенном ведении журнала диагностики в службе приложений (Web App).
Один из создаваемых им контейнеров больших двоичных объектов написан ЗАГЛАВНЫМИ БУКВАМИ, а другой - маленькой буквой. Согласно моему пониманию, контейнер больших двоичных объектов с маленьким регистром имен содержит журналы приложений.
Теперь я создал подписку Grid для события «Microsoft.Storage.BlobCreated» в хранилище BLOB-объектов. И я использую функцию (с триггером HTTP) в качестве конечной точки при создании подписки в Event Grid для этого события создания BLOB-объекта. Я также фильтрую событие создания блоба и планирую также включить фильтр для имен субъектов, чтобы получать только события создания блобов для журнала приложений. Я убедился, что журнал приложений с журналом аудита, трассировки или диагностики моего приложения находится в контейнере BLOB-объектов (все строчные буквы) со всеми подробностями, которые я отправляю из приложения.
Теперь странная вещь, которую я наблюдаю, заключается в том, что в моей бессерверной функции Azure (когда она запускается в результате создания файла BLOB-объекта), когда я регистрирую данные запроса (входные данные, которые я получил), я получаю только события из Web Log (имя контейнера со всеми заглавными буквами), и до сих пор я не вижу ни одного события создания BLOB-объекта, запущенного для журнала приложений. Я заметил это, основываясь на поле «subject», которое содержит путь к файлу вновь созданного большого двоичного объекта.
Итак, мой вопрос, почему я не получаю событие создания блоба для журнала приложений?
Вот сценарий Azure CLI для создания подписки, использующей идентификатор ресурса учетной записи хранилища BLOB-объектов:
конечная точка = [функция-конечная точка]
includeEvents = Microsoft.Storage.BlobCreated
az EventGrid Event-подписка создать
--resource-id $ storageid
--name alert-blog-storage-создан
--endpoint $ конечная точка
--included-event-types $ includeEvents
Вот ссылка в качестве ссылки, которую я использовал для создания подписки на Event Grid.