Mapeamento de W3CLOGFILE
Aplica-se a: ✅Microsoft Fabric✅Azure 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"
)