Поделиться через


сопоставление W3CLOGFILE

Область применения: ✅Microsoft Fabric✅Azure Data Explorer

Используйте сопоставление W3CLOGFILE для сопоставления входящих данных с столбцами в таблицах, когда исходный файл приема находится в W3CLOGFILE формате.

Каждый элемент в списке сопоставлений определяет сопоставление для определенного столбца. Эти элементы создаются из трех свойств: column, datatypeи properties. Дополнительные сведения см. в обзоре сопоставлений данных.

Каждый элемент сопоставления W3CLOGFILE должен содержать любой из следующих необязательных свойств:

Свойство Type Описание
Поле string Имя поля в записи журнала W3CLOGFILE.
ConstValue string Константное значение, которое будет использоваться для столбца вместо некоторого значения внутри файла W3CLOGFILE.
Преобразование string Преобразование, которое должно применяться к содержимому с преобразованиями сопоставления.

Примечание.

Единственными поддерживаемыми преобразованиями для формата W3CLOGFILE являются SourceLineNumber и SourceLocation.

Внимание

Для приема в очереди:

  • Если таблица, указанная в сопоставлении, не существует в базе данных, она создается автоматически, учитывая, что допустимые типы данных указаны для всех столбцов.
  • Если столбец, на который ссылается сопоставление, не существует в таблице, он автоматически добавляется в таблицу в качестве последнего столбца при первом приеме данных для этого столбца, если для этого столбца указан допустимый тип данных. Чтобы добавить новые столбцы в сопоставление, используйте команду сопоставления .alter ingestion.
  • Данные пакетируются с помощью свойств приема. Чем больше уникальных свойств сопоставления приема, таких как различные значения 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"}}
]

Приведенное выше сопоставление сериализуется как строка JSON, когда она предоставляется в рамках .ingest команды управления.

.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"
    )

Сопоставление удостоверений

Используйте сопоставление W3CLOGFILE во время приема без определения схемы сопоставления (см . сопоставление удостоверений).

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