2016-09-08 16 views
2

AzureのApplication InsightsとAPIを実装しています。タイプstringstringのディクショナリしか送信できません。また、私がTraceTelemetryを使用している場合、それは再びstringstringの辞書であるプロパティを持っています。C#ライブラリを使用してJsonをAzure Appinsightsに送信する方法

しかし、シリアル化されたjsonの値を持つカスタムプロパティ(車の場合)に1つのフィールドを追加すると、このようなペイロードがApplication Insightsに送信されます。

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

注意:バックスラッシュは1つのjson値になっています。

しかし、appinsightポータルはそれを理解し、解析します。

Appinsight parsing string as json

だから私は、マイクロソフトを使用することができますC#のAPIを提供するが、それはただ醜いとAPIは、とにかくJSONで、なぜDictionary<string, string>に制限APIがあるように思えますか?

+1

実際にAPIの新機能をリクエストしているので、特定の問題のヘルプではなく、これが正しい質問です。私はUserVoiceに提案を投稿することをお勧めします:https://visualstudio.uservoice.com/forums/357324-application-insights – EranG

+0

おそらくあなたはここで問題を開くことができます:https://github.com/Microsoft/ApplicationInsights-dotnet/issues 。 –

答えて

-1

Azure Portalでのフィルタリングによるものです。プロパティ(Dictionary<string, string>)の主な目的はであり、指定された要求、例外などを見つける機能を提供します。あなたはまた、プロパティの数によって制限されています(それは約200でした)。典型的なプロパティは、 "username"、 "isAuthenticated"、 "role"、 "score"、 "isAnonymous"、 "portalName"、 "group"、 "product" atcです。通常はグローバルプロパティ。

オブジェクト全体/ jsonを送信する場合は、TrackTrace()を使用できます。ポータルで具体的な要求に関連するすべてのトレースを見つけることができます。

+0

私はTrackTrace()についてのみ話しています.. – vmachacek

関連する問題