如何查看Cosmos DB SDK V3发送的HTTP请求及生成的查询语句
Cosmos DB SQL SDK V3 查看生成查询语句的可行方法
- 使用SDK自带诊断属性直接输出
所有SDK请求的响应对象都内置Diagnostics属性,执行查询后获取FeedResponse<T>对象,调用FeedResponse.Diagnostics.ToString()即可拿到完整的请求日志,包含请求方法(GET/POST)、最终生成的SQL查询语句、网关交互链路、耗时统计等全量信息,无需额外配置,仅需在业务代码对应位置加日志输出即可。 - 开启Application Insights全量依赖采集
默认Application Insights仅采集Cosmos DB依赖的基础URL字段,修改两处配置即可解锁详细信息:- 初始化CosmosClient时添加配置
CosmosClientOptions.CosmosClientTelemetryOptions.DisableDistributedTracing = false,让SDK把诊断信息同步到链路活动中 - 配置Application Insights依赖采集模块,开启Cosmos DB专属采集规则,配置完成后即可在依赖项详情的自定义标签中看到
query.text、request.method等字段
- 初始化CosmosClient时添加配置
- 本地调试使用HTTP抓包工具
你已切换为Gateway HTTPS模式,可直接使用Fiddler、Charles等抓包工具,安装工具根证书信任HTTPS流量后,所有发往Cosmos DB端点的请求都会被捕获,POST请求的Body中会携带完整的查询语句,GET请求的查询参数中也可直接查看,同时可直接确认请求方法、头信息等内容。 - 补充说明:Rhino Profiler仅适配Cosmos DB SDK V2版本,V3及以上版本已无官方支持,无需继续尝试。
内容的提问来源于stack exchange,提问作者L. Sokolovsky
相关产品推荐
相关产品推荐

