Partilhar via


Mapeamento de W3CLOGFILE

Aplica-se a: ✅Microsoft FabricAzure Data Explorer

Use o mapeamento W3CLOGFILE para mapear dados de entrada para colunas dentro de tabelas quando o arquivo de origem de assimilaçã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, datatype, e properties. Saiba mais na visão geral dos mapeamentos de dados.

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

Propriedade Type 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 em fila:

  • Se a tabela referenciada no mapeamento não existir no banco de dados, ela será criada automaticamente, considerando que os 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 que os dados forem ingeridos para essa coluna, desde que um tipo de dados válido seja 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 propriedades de assimilação. Quanto mais propriedades de mapeamento de ingestão distintas forem usadas, como valores ConstValue diferentes, mais fragmentada a ingestão se tornará, 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 assimilação sem definir um esquema de mapeamento (consulte mapeamento de identidade).

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