如何在javascript中获取Application Insight操作ID?

我有一个用javascript编写的Azure函数应用,它集成了Application Insight:

const AppInsights = require("applicationinsights");

AppInsights.setup(appInsightsInstrumentationKey);
AppInsights.defaultClient.context.tags[
    AppInsights.defaultClient.context.keys.cloudRole
        ] = "My back-end";
AppInsights.start();

模块版本为1.7.4。

我确实需要访问当前操作ID才能将其发送到我的自定义日志,以便与Azure中的AI日志关联。在我的函数中,我尝试了以下内容:

var telemetry = appInsights.defaultClient;
var oid = telemetry.context.tags["ai.operation.id"]; // does not work
var oid = telemetry.context.operation.id; // does not work

不过,AI会以某种方式收集它,这样我就可以在Azure门户中看到它:

如何在运行时访问Azure函数中的operation_id值?


解决方案

您可以用下面这行代码尝试一下:

//operation id
var s = client.context.keys["operationId"];

我是通过DEBUG找到的,截图如下:

相关文章