You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将自定义跟踪ID从Logic App传递至Function App

实现Logic App到Function App的自定义跟踪ID传递与全链路追踪
  • 在Logic App中准备自定义跟踪ID
    可以直接用Logic App内置的uuid()表达式生成唯一跟踪ID,或者用业务场景中已有的唯一标识(比如订单ID)。把这个ID保存为变量,方便后续调用时使用。

  • 调用Function App时传递跟踪ID
    在Logic App调用Function App的HTTP请求动作里,添加自定义请求头(比如x-custom-trace-id),将值设置为你准备好的跟踪ID变量。也可以选择把跟踪ID放在请求体的JSON字段中(比如"traceId": "@variables('CustomTraceId')"),根据Function App的接收方式调整。

  • Function App中接收并关联到Application Insights
    在Function App的代码里,先从请求头或请求体中取出跟踪ID:

    // 从请求头获取的例子(C#)
    var traceId = Request.Headers["x-custom-trace-id"].FirstOrDefault();
    

    然后获取Application Insights的TelemetryClient,将跟踪ID绑定到操作ID上,这样所有后续的遥测数据都会关联这个ID:

    var telemetry = new TelemetryClient();
    if (!string.IsNullOrEmpty(traceId))
    {
        telemetry.Context.Operation.Id = traceId;
    }
    

    如果是Python函数,类似逻辑:

    import azure.functions as func
    from applicationinsights import TelemetryClient
    
    def main(req: func.HttpRequest) -> func.HttpResponse:
        trace_id = req.headers.get('x-custom-trace-id')
        tc = TelemetryClient()
        if trace_id:
            tc.context.operation.id = trace_id
        # 后续业务逻辑和日志记录
    
  • 验证全链路追踪效果
    在Application Insights的搜索界面,输入operation_Id:"你的跟踪ID",就能查询到从Logic App发起请求,到Function App处理的全链路日志、请求记录和遥测数据。另外要确保Logic App本身也把这个跟踪ID写入日志(比如通过Logic App的"写入到Application Insights"动作),这样链路才完整。

内容的提问来源于stack exchange,提问作者Sergio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 15:32:41