У меня есть функция Azure (v2), в которой данные передаются в виде JSON через тело HTTP.Я хочу записать некоторые из этих данных JSON в Application Insights, используя стандартные Trace и Request события.
Что я пробовал до сих пор:
- Используйте пользовательский
ITelemetryInitializer
, который анализирует тело и добавляет свойства к ISupportProperties.Properties
.Это имеет два недостатка: тело читается и анализируется несколько раз для каждого запроса (один раз в моей функции и несколько раз в инициализаторе телеметрии), и иногда доступ к телу вызывает исключение, потому что он был удален (возможно, он выходит из строя).области видимости в конце вызова функции). - Используйте
TelemetryClient
внутри моей функции.Но у этого клиента, похоже, нет подходящего свойства для установки: TelemetryClient.Context.GlobalProperties
предназначено для глобальных свойств, а не для свойств в области запроса; TelemetryClient.Context.Properties
устарело,и я не вижу, как я могу использовать рекомендованную замену ISupportProperties.Properties
там.
В идеале я хочу использовать данные, которые анализируются внутри моей функции, и использовать этоданные для инициализации данных телеметрии.