Share via


W3CLOGFILE マッピング

インジェスト ソース ファイルがW3CLOGFILE形式の場合は、W3CLOGFILEマッピングを使用して、受信データをテーブル内の列にマップします。

マッピング リストの各要素は、特定の列のマッピングを定義します。 これらの要素は、、datatype、および propertiesの 3 つのプロパティcolumnから構築されます。 詳細については、 データ マッピングの概要に関するページを参照してください

各W3CLOGFILEマッピング要素には、次のいずれかの省略可能なプロパティが含まれている必要があります。

プロパティ Type 説明
フィールド string W3CLOGFILE ログ レコード内のフィールドの名前。
ConstValue string W3CLOGFILE ファイル内の値ではなく、列に使用される定数値。
変換 string マッピング変換を使用してコンテンツに適用する必要がある 変換

注意

W3CLOGFILE形式でサポートされている変換は、SourceLineNumber と SourceLocation のみです。

重要

キューに入ったインジェストの場合:

  • マッピングで参照されているテーブルがデータベースに存在しない場合は、すべての列に対して有効なデータ型が指定されているため、自動的に作成されます。
  • マッピングで参照されている列がテーブルに存在しない場合、列に対して有効なデータ型が指定されている場合、その列に対してデータが初めて取り込まれると、その列が最後の列としてテーブルに自動的に追加されます。 マッピングに新しい列を追加するには、 .alter ingestion mapping コマンドを使用します。
  • データはインジェスト プロパティを使用してバッチ処理されます。 異なる ConstValue 値など、より明確なインジェスト マッピング プロパティが使用されるほど、インジェストの断片化が高くなり、パフォーマンスが低下する可能性があります。

[
   {"Column": "Date",          "Properties": {"Field": "date"}},
   {"Column": "Time",          "Properties": {"Field": "time"}},
   {"Column": "IP",            "Properties": {"Field": "s-ip"}},
   {"Column": "ClientMethod",  "Properties": {"Field": "cs-method"}},
   {"Column": "ClientQuery",   "Properties": {"Field": "cs-uri-query"}},
   {"Column": "ServerPort",    "Properties": {"Field": "s-port"}},
   {"Column": "ClientIP",      "Properties": {"Field": "c-ip"}},
   {"Column": "UserAgent",     "Properties": {"Field": "cs(User-Agent)"}},
   {"Column": "Referer",       "Properties": {"Field": "cs(Referer)"}},
   {"Column": "Status",        "Properties": {"Field": "sc-status"}},
   {"Column": "ResponseBytes", "Properties": {"Field": "sc-bytes"}},
   {"Column": "RequestBytes",  "Properties": {"Field": "cs-bytes"}},
   {"Column": "TimeTaken",     "Properties": {"Field": "time-taken"}}
]

上記のマッピングは、管理コマンドの一部 .ingest として提供されるときに JSON 文字列としてシリアル化されます。

.ingest into Table123 (@"source1", @"source2")
  with
  (
      format = "w3clogfile",
      ingestionMapping =
      ```
      [
         {"Column": "column_a", "Properties": {"Field": "field1"}},
         {"Column": "column_b", "Properties": {"Field": "field2"}}
      ]
      ```
  )

事前に作成されたマッピング

マッピングが 事前に作成されたら、管理コマンドで名前でマッピングを .ingest 参照します。

.ingest into Table123 (@"source1", @"source2")
    with
    (
        format="w3clogfile",
        ingestionMappingReference = "Mapping_Name"
    )

ID のマッピング

マッピング スキーマを定義せずにインジェスト中にW3CLOGFILEマッピングを使用します ( 「ID マッピング」を参照)。

.ingest into Table123 (@"source1", @"source2")
    with
    (
        format="w3clogfile"
    )