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

Azure Data Lake Storage重试日志查询:自动记录还是需自定义事件?

Azure Data Lake Storage 重试记录查询与日志说明

1. 自动日志生成情况

你使用的Azure .NET SDK(DataLakeClient属于此范畴)默认会将重试相关的核心日志输出到已连接的Application Insights,无需额外自定义事件就能捕获关键信息。这些日志属于SDK内置的诊断日志,会自动同步到AppInsights的Traces或Dependencies数据表中,包含的信息包括:

  • 当前重试次数
  • 触发重试的原因(如网络超时、服务端错误)
  • 重试延迟时长
  • 请求的目标URI与操作类型(如文件上传、下载)

2. 查询重试记录的方法

在AppInsights的日志查询界面,可通过Kusto语句筛选重试相关日志,示例如下:

从Traces表筛选

traces
| where message contains "Retry attempt" and message contains "DataLake"
| project timestamp, message, operation_Name, customDimensions

从Dependencies表筛选

dependencies
| where type == "Azure Data Lake Storage" and customDimensions contains "Retry"
| project timestamp, name, resultCode, customDimensions["RetryCount"], customDimensions["RetryReason"]

3. 自定义日志补充(可选)

如果需要更精细化的重试记录(比如关联业务上下文、统计特定操作的重试情况),可以手动添加自定义事件或调整SDK诊断配置:

自定义重试事件示例

var fileClient = new DataLakeFileClient(new Uri("你的DataLake资源URI"), new DefaultAzureCredential(), CreateRetryPoliciesOptions());

try
{
    await fileClient.UploadAsync("本地文件路径");
}
catch (RequestFailedException ex)
{
    var telemetry = new TelemetryClient();
    telemetry.TrackEvent("DataLakeRetryFailed", new Dictionary<string, string>
    {
        {"RetryCount", ex.RetryCount.ToString()},
        {"OperationType", "FileUpload"},
        {"ErrorMessage", ex.Message}
    });
}

开启更详细的SDK诊断日志

你可以修改DataLakeClientOptions的诊断配置,获取更完整的请求与重试细节:

private static DataLakeClientOptions CreateRetryPoliciesOptions()
{
    var options = new DataLakeClientOptions
    {
        Retry =
        {
            MaxRetries = 3,
            Delay = TimeSpan.FromSeconds(5),
            Mode = RetryMode.Fixed,
            NetworkTimeout = TimeSpan.FromSeconds(120)
        },
        Diagnostics =
        {
            IsLoggingEnabled = true,
            IsTelemetryEnabled = true,
            LoggedHeaderNames = { "x-ms-request-id" },
            LoggedQueryParameters = { "api-version" }
        }
    };

    return options;
}

总结

  • 基础重试记录会自动写入AppInsights,无需额外开发
  • 可通过Kusto查询快速筛选出重试相关日志
  • 若需要定制化信息,再手动添加自定义事件或调整诊断配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 18:15:13