Эта проблема очень сложная, она связана с настройкой клавиши инструментовки.Если вы используете Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration
(вы использовали в своем коде) для установки ключа инструментария, то в insights приложения не будет ни одного operation_id.
Поэтому используйте эту строку кода для установки ключа инструментария:
TelemetryClient telemetryClient = new TelemetryClient() { InstrumentationKey = "your_key" };
Мой пример кода, как показано ниже, изменяет только метод настройки ключа инструментария:
public static class Function1
{
private static TelemetryClient telemetryClient = new TelemetryClient() { InstrumentationKey = "your_key" };
[FunctionName("Function2")]
public static HttpResponseMessage Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)]HttpRequestMessage req)
{
RequestTelemetry requestTelemetry = new RequestTelemetry { Name = "Function211" };
var operation = telemetryClient.StartOperation(requestTelemetry);
telemetryClient.TrackTrace("trace message 111", SeverityLevel.Error);
telemetryClient.TrackException(new System.Exception("My custom exception 111"));
operation.Telemetry.Success = true;
telemetryClient.StopOperation(operation);
return req.CreateResponse(HttpStatusCode.OK, "Hello ");
}
}
После выполнения вы можете увидеть идентификатор_операции для трассировки / исключения на портале Azure: