【问题标题】:How to send Json to Azure Appinsights with c# library如何使用 c# 库将 Json 发送到 Azure Appinsights
【发布时间】:2016-09-09 15:51:02
【问题描述】:

我正在实现 Azure 的 Application Insights,而我发现的 API 只能发送 stringstring 类型的字典。此外,如果我使用TraceTelemetry,它上面有属性,这又是stringstring 的字典。

但是,当我将一个字段添加到具有序列化 json 值的自定义属性(在我的例子中为 cars)时,它将导致这样的有效负载被发送到 Application Insights。

 "baseData": {
        "ver": 2,
        "message": "Test Message",
        "properties": {
            "cars": "[{\"Id\":0,\"Price\":{\"Value\":12.32,\"Currency\":.....
        }
    }

注意反斜杠使它成为一个 json 值。

但 appinsight 门户会理解并解析它。

所以我可以使用微软提供的 C# API,但它看起来很丑,而且似乎 API 无论如何都是 JSON,那么为什么 API 仅限于 Dictionary<string, string>

【问题讨论】:

标签: azure-application-insights


【解决方案1】:

这是因为 Azure 门户中的过滤。 Properties (Dictionary<string, string>) 的主要目的是提供查找指定请求、异常等的能力。您还受到属性数量的限制(大约是 200 个)。典型的属性有:“username”、“isAuthenticated”、“role”、“score”、“isAnonymous”、“portalName”、“group”、“product” atc。通常是全局属性。

如果要发送整个对象/json,可以使用TrackTrace()。您可以在门户中找到有关具体请求的所有跟踪。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-27
    • 2014-01-08
    • 2017-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    • 1970-01-01
    相关资源
    最近更新 更多