Compartilhar via


Mapeamento de W3CLOGFILE

Use W3CLOGFILE mapeamento para mapear dados de entrada para colunas dentro de tabelas quando o arquivo de origem de ingestão estiver no formato W3CLOGFILE.

Cada elemento na lista de mapeamento define o mapeamento para uma coluna específica. Esses elementos são construídos a partir de três propriedades: column, datatypee properties. Saiba mais na visão geral de mapeamentos de dados.

Cada elemento de mapeamento W3CLOGFILE deve conter uma das seguintes propriedades opcionais:

Propriedade Tipo Descrição
Campo string Nome do campo no registro de log W3CLOGFILE.
ConstValue string O valor constante a ser usado para uma coluna em vez de algum valor dentro do arquivo W3CLOGFILE.
Transformação string Transformação que deve ser aplicada no conteúdo com transformações de mapeamento.

Observação

As únicas transformações com suporte para W3CLOGFILE formato são SourceLineNumber e SourceLocation.

Importante

Para ingestão na fila:

  • Se a tabela referenciada no mapeamento não existir no banco de dados, ela será criada automaticamente, considerando que tipos de dados válidos são especificados para todas as colunas.
  • Se uma coluna referenciada no mapeamento não existir na tabela, ela será adicionada automaticamente à tabela como a última coluna na primeira vez em que os dados são ingeridos para essa coluna, dado que um tipo de dados válido é especificado para a coluna. Para adicionar novas colunas a um mapeamento, use o comando de mapeamento de ingestão .alter.
  • Os dados são agrupados em lote usando as propriedades ingestão. As propriedades de mapeamento de ingestão mais distintas usadas, como valores ConstValue diferentes, mais fragmentada a ingestão se torna, o que pode levar à degradação do desempenho.

Exemplos

[
   {"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"}}
]

O mapeamento acima é serializado como uma cadeia de caracteres JSON quando é fornecido como parte do .ingest comando de gerenciamento.

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

Mapeamento pré-criado

Quando o mapeamento for pré-criado, faça referência ao mapeamento por nome no .ingest comando de gerenciamento.

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

Mapeamento de identidade

Use W3CLOGFILE mapeamento durante a ingestão sem definir um esquema de mapeamento (consulte mapeamento de identidade).

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