Todos os produtos
Search
Central de documentação

DataWorks:Fonte de dados LogHub (SLS)

Última atualização: Sep 15, 2026

A fonte de dados LogHub (SLS) oferece sincronização bidirecional de dados entre o Simple Log Service (SLS) e outras fontes de dados no DataWorks.

Recursos

O Simple Log Service (SLS) suporta os seguintes cenários de sincronização de dados:

  • Sincronização de dados entre o LogHub e fontes como o MaxCompute em diferentes regiões.

  • Sincronização de dados entre o LogHub e fontes como o MaxCompute em diferentes contas Alibaba Cloud.

  • Sincronização de dados entre o LogHub e fontes como o MaxCompute na mesma conta Alibaba Cloud.

  • Sincronização de dados entre o LogHub e fontes como o MaxCompute entre contas da nuvem pública e da China Finance Cloud.

Limitação

Quando o Data Integration realiza uma gravação offline no LogHub (SLS), pode ocorrer duplicação de dados se uma tarefa for reexecutada após um failover. Isso acontece porque o LogHub (SLS) não é idempotente.

Tipos de campo suportados

O Data Integration suporta os seguintes tipos de campo do LogHub (SLS) para leitura e gravação.

Tipo de campo

Leitura offline (LogHub (SLS) Reader)

Gravação offline (LogHub (SLS) Writer)

Leitura em tempo real

STRING

Suportado

Suportado

Suportado

Detalhes:

  • Ao gravar dados no LogHub (SLS) no modo offline

    Todos os tipos de dados são convertidos para STRING antes da gravação no LogHub (SLS). A tabela a seguir lista as conversões de tipo de dados realizadas pelo LogHub (SLS) Writer.

    Tipo interno do Data Integration suportado

    Tipo de dados ao gravar no LogHub (SLS)

    LONG

    STRING

    DOUBLE

    STRING

    STRING

    STRING

    DATE

    STRING

    BOOLEAN

    STRING

    BYTES

    STRING

  • Ao ler dados do LogHub (SLS) no modo em tempo real

    Os seguintes campos de metadados são incluídos automaticamente.

    Campo de sincronização em tempo real do LogHub (SLS)

    Tipo de dados

    Descrição

    __time__

    STRING

    Campo reservado do SLS: __time__ especifica o horário do log quando os dados são gravados. O valor é um timestamp UNIX em segundos.

    __source__

    STRING

    Campo reservado do SLS: __source__ especifica o dispositivo de origem do log.

    __topic__

    STRING

    Campo reservado do SLS: __topic__ especifica o nome do tópico.

    __tag__:__receive_time__

    STRING

    Horário em que o log chega ao servidor. Após ativar o recurso de registro de endereços IP públicos, o servidor anexa este campo ao log bruto no momento do recebimento. O valor é um timestamp UNIX em segundos.

    __tag__:__client_ip__

    STRING

    Endereço IP público do dispositivo de origem do log. Após ativar o recurso de registro de endereços IP públicos, o servidor anexa este campo ao log bruto no momento do recebimento.

    __tag__:__path__

    STRING

    Caminho do arquivo de log coletado pelo Logtail. O Logtail anexa automaticamente este campo ao log.

    __tag__:__hostname__

    STRING

    Nome do host da máquina de origem de onde o Logtail coleta dados. O Logtail anexa automaticamente este campo ao log.

Crie uma fonte de dados

Configure uma fonte de dados

Antes de desenvolver uma tarefa de sincronização de dados, crie a fonte de dados correspondente no DataWorks. Para obter o procedimento, consulte Create a data source. Para descrições detalhadas dos parâmetros de configuração, consulte as dicas de ferramenta exibidas na página de configuração.

Crie uma fonte de dados entre contas Alibaba Cloud

O exemplo a seguir descreve como usar a Conta B para configure uma tarefa de sincronização no Data Integration, a fim de sincronizar dados do LogHub da Conta A para o MaxCompute da Conta B. As observações especiais para cenários entre contas são:

  1. Crie uma fonte de dados LogHub usando o AccessKey ID e o AccessKey Secret da Conta A.

    Neste caso, a Conta B pode sincronizar dados de todos os projetos SLS pertencentes à Conta A.

  2. Crie uma fonte de dados LogHub usando o AccessKey ID e o AccessKey Secret do usuário RAM A1 pertencente à Conta A.

    • A Conta A concede ao usuário RAM A1 as permissões gerais no SLS, que correspondem às políticas AliyunLogFullAccess e AliyunLogReadOnlyAccess. Para mais informações, consulte Create a RAM user and grant permissions.

      Nota

      Após anexar as políticas de sistema AliyunLogFullAccess e AliyunLogReadOnlyAccess a um usuário RAM, esse usuário poderá consultar todos os recursos SLS da conta Alibaba Cloud.

    • A Conta A concede ao usuário RAM A1 uma permissão personalizada no SLS.

      Faça login na página RAM console > Permission Management > Permission Policy usando a Conta A e clique em Create Permission Policy.

      Para informações sobre a autorização relevante, consulte Access control overview e RAM custom authorization examples.

      Após autorizar o usuário RAM A1 com base na política a seguir, a Conta B poderá sincronizar dados apenas dos projetos SLS project_name1 e project_name2 por meio do usuário RAM A1.

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "log:Get*",
                      "log:List*",
                      "log:CreateConsumerGroup",
                      "log:UpdateConsumerGroup",
                      "log:DeleteConsumerGroup",
                      "log:ListConsumerGroup",
                      "log:ConsumerGroupUpdateCheckPoint",
                      "log:ConsumerGroupHeartBeat",
                      "log:GetConsumerGroupCheckPoint"
                  ],
                  "Resource": [
                      "acs:log:*:*:project/project_name1",
                      "acs:log:*:*:project/project_name1/*",
                      "acs:log:*:*:project/project_name2",
                      "acs:log:*:*:project/project_name2/*"
                  ],
                  "Effect": "Allow"
              }
          ]
      }

Desenvolvimento de tarefas de sincronização de dados

Para informações sobre o ponto de entrada e o procedimento de configuração de uma tarefa de sincronização, consulte os guias de configuração a seguir.

Nota

Quando uma fonte de dados LogHub é usada como origem, filtre os dados no LogHub utilizando a sintaxe de consulta do LogHub ou instruções SPL (SLS Processing Language, a sintaxe usada pelo SLS para processar logs) durante a configuração da tarefa. Para detalhes sobre a sintaxe, consulte Appendix: LogHub data filtering.

Guia de configuração de tarefa de sincronização offline de tabela única

Guia de configuração de tarefa de sincronização em tempo real de tabela única

Para obter o procedimento, consulte Configure a single-table real-time synchronization task.

Guia de configuração de sincronização em tempo real de banco de dados completo e outras sincronizações no nível de banco de dados

Para obter o procedimento, consulte Configure a full-database real-time synchronization task.

Perguntas frequentes

Para mais problemas comuns sobre o Data Integration, consulte Data Integration FAQ.

Apêndice 1: Demonstração de script e descrição de parâmetros

Configure uma tarefa de sincronização em lote usando o editor de código

Para configure uma tarefa de sincronização em lote usando o editor de código, defina os parâmetros relacionados no script conforme os requisitos unificados de formato de script. Para mais informações, consulte Script mode configuration. As informações a seguir descrevem os parâmetros necessários para fontes de dados ao configure uma tarefa de sincronização em lote via editor de código.

Demonstração de script do Reader

Demonstração de leitura de um Logstore

{
 "type":"job",
 "version":"2.0",// The version number.
 "steps":[
     {
         "stepType":"LogHub",// The plug-in name.
         "parameter":{
             "datasource":"",// The data source.
             "column":[// The columns.
                 "col0",
                 "col1",
                 "col2",
                 "col3",
                 "col4",
                 "__category__",
                 "__source__",
                 "__topic__", // The log topic.
                 "__machineUUID__", // The unique identifier of the collection machine.
                 "__tag__:__hostname__", // The hostname.
                 "__tag__:__path__", // The path.
                 "__time__" // The event time.
             ],
             "beginDateTime":"",// The start time for data consumption.
             "batchSize":"",// The number of data entries queried from SLS at a time.
             "endDateTime":"",// The end time for data consumption.
             "fieldDelimiter":",",// The column delimiter.
             "logstore":""// The name of the destination Logstore.
         },
         "name":"Reader",
         "category":"reader"
     },
     {
         "stepType":"stream",
         "parameter":{},
         "name":"Writer",
         "category":"writer"
     }
 ],
 "setting":{
     "errorLimit":{
         "record":"0"// The number of error records.
     },
     "speed":{
         "throttle":true,// If throttle is set to false, the mbps parameter does not take effect, which means throttling is disabled. If throttle is set to true, throttling is enabled.
            "concurrent":1 // The number of concurrent threads.
            "mbps":"12",// The throttling rate. 1 mbps = 1 MB/s.
     }
 },
 "order":{
     "hops":[
         {
             "from":"Reader",
             "to":"Writer"
         }
     ]
 }
}

Demonstração de leitura de um Logstore após processamento de dados com SPL

{
 "type":"job",
 "version":"2.0",// The version number.
 "steps":[
     {
         "stepType":"LogHub",// The plug-in name.
         "parameter":{
             "datasource":"",// The data source.
             "column":[// The columns.
                 "col100",
                 "col1"
             ],
             "beginDateTime":"",// The start time for data consumption.
             "batchSize":"",// The number of data entries queried from SLS at a time.
             "endDateTime":"",// The end time for data consumption.
             "fieldDelimiter":",",// The column delimiter.
             "logstore":"",// The name of the destination Logstore.
             "query":"* | where regexp_like(col0, '[0-9]+') | project col100=col0, col1 " // SPL
         },
         "name":"Reader",
         "category":"reader"
     },
     {
         "stepType":"stream",
         "parameter":{},
         "name":"Writer",
         "category":"writer"
     }
 ],
 "setting":{
     "errorLimit":{
         "record":"0"// The number of error records.
     },
     "speed":{
         "throttle":true,// If throttle is set to false, the mbps parameter does not take effect, which means throttling is disabled. If throttle is set to true, throttling is enabled.
            "concurrent":1 // The number of concurrent threads.
            "mbps":"12",// The throttling rate. 1 mbps = 1 MB/s.
     }
 },
 "order":{
     "hops":[
         {
             "from":"Reader",
             "to":"Writer"
         }
     ]
 }
}

Demonstração de leitura de um Logstore após extensão de campos com SPL

{
 "type":"job",
 "version":"2.0",// The version number.
 "steps":[
     {
         "stepType":"LogHub",// The plug-in name.
         "parameter":{
             "datasource":"",// The data source.
             "column":[// The columns.
               "col0",
               "col1",
               "col2",
               "col3",
               "col4",
               "__category__",
               "__source__",
               "__topic__", // The log topic.
               "__machineUUID__", // The unique identifier of the collection machine.
               "__tag__:__hostname__", // The hostname.
               "__tag__:__path__", // The path.
               "__time__", // The event time.
               "col100",
               "col101"
             ],
             "beginDateTime":"",// The start time for data consumption.
             "batchSize":"",// The number of data entries queried from SLS at a time.
             "endDateTime":"",// The end time for data consumption.
             "fieldDelimiter":",",// The column delimiter.
             "logstore":"",// The name of the destination Logstore.
             "query":"* | where regexp_like(col0, '[0-9]+') | extend col100=cast(col2 as BIGINT), extend col101=date_parse(col3, '%Y-%m-%d %H:%i') ",// SPL
         },
         "name":"Reader",
         "category":"reader"
     },
     {
         "stepType":"stream",
         "parameter":{},
         "name":"Writer",
         "category":"writer"
     }
 ],
 "setting":{
     "errorLimit":{
         "record":"0"// The number of error records.
     },
     "speed":{
         "throttle":true,// If throttle is set to false, the mbps parameter does not take effect, which means throttling is disabled. If throttle is set to true, throttling is enabled.
            "concurrent":1 // The number of concurrent threads.
            "mbps":"12",// The throttling rate. 1 mbps = 1 MB/s.
     }
 },
 "order":{
     "hops":[
         {
             "from":"Reader",
             "to":"Writer"
         }
     ]
 }
}

Parâmetros do script do Reader

Parâmetro

Descrição

Obrigatório

Valor padrão

endPoint

O endpoint do Simple Log Service é a URL usada para acessar um projeto e seus dados de log. Ele está relacionado à região da Alibaba Cloud onde o projeto reside e ao nome do projeto. Para os endpoints de service de cada região, consulte Endpoints.

Sim

Nenhum

accessId

O AccessKey ID usado para acessar o Simple Log Service, que identifica o usuário.

Sim

Nenhum

accessKey

A AccessKey usada para acessar o Simple Log Service para autenticação do usuário.

Sim

Nenhum

project

Nome do projeto de destino no Simple Log Service. Um projeto é a unidade de gerenciamento de recursos no Simple Log Service, usada para isolar e gerencie recursos.

Sim

Nenhum

logstore

Nome do Logstore de destino. Um Logstore é a unidade no Simple Log Service para coleta, armazenamento e consulta de dados de log.

Sim

Nenhum

batchSize

Número de entradas de dados recuperadas do Simple Log Service em uma única consulta.

Não

128

column

Nomes das colunas em cada entrada de dados. Configure campos de metadados do Simple Log Service como colunas de sincronização. O Simple Log Service suporta metadados como tópico de log, identificador único da máquina de coleta, nome do host, caminho e horário do log.

Nota

Os nomes das colunas diferenciam maiúsculas de minúsculas. Para mais informações, consulte a seção configurable column values abaixo.

Sim

Nenhum

beginDateTime

Horário inicial para consumo de dados, correspondente ao momento em que os dados de log chegam ao LogHub (SLS). Este parâmetro especifica o limite esquerdo (inclusivo) do intervalo de tempo. Defina este parâmetro como uma string de tempo no formato yyyyMMddHHmmss (por exemplo, 20180111013000). Use este parâmetro em conjunto com os parâmetros de agendamento do DataWorks.

Por exemplo, em Scheduling Settings no lado direito da página de edição do nó, defina beginDateTime=${yyyymmdd-1} em Parameter e, em seguida, defina Log Start Time como ${beginDateTime}000000. Isso indica que o horário inicial do log é 00:00:00 na data comercial. Para mais informações, consulte Scheduling parameters.

Nota
  • beginDateTime e endDateTime devem ser usados juntos.

  • Para sincronizar todos os dados, defina beginDateTime como o horário inicial dos dados e endDateTime como o dia atual. No entanto, isso pode consumir muitos recursos devido ao volume de dados. Ajuste as especificações do grupo de recursos conforme necessário.

  • O campo de filtro de tempo subjacente é fixo como write timestamp (o horário em que o log chega ao LogHub (SLS)). beginDateTime controla apenas o intervalo de tempo do consumo de dados. Ele não altera o campo de filtro subjacente e não pode ser alterado para um campo comercial personalizado, como start_time.

Sim

Nenhum

endDateTime

Horário final para consumo de dados, correspondente ao limite direito (exclusivo) do intervalo de tempo. Defina este parâmetro como uma string de tempo no formato yyyyMMddHHmmss (por exemplo, 20180111013010). Use este parâmetro em conjunto com os parâmetros de agendamento do DataWorks.

Por exemplo, em Scheduling Settings no lado direito da página de edição do nó, defina endDateTime=${yyyymmdd} em Parameter e, em seguida, defina Log End Time como ${endDateTime}000000. Isso indica que o horário final do log é 00:00:00 no dia seguinte à data comercial. Para mais informações, consulte Scheduling parameters.

Importante
  • O horário especificado para endDatetime deve ser anterior a (2038-01-19 11:14:07 +8:00). Caso contrário, a recuperação de dados pode falhar.

  • O endDateTime do ciclo de agendamento anterior deve ser igual ou posterior ao beginDateTime do próximo ciclo de agendamento. Caso contrário, dados em alguns intervalos de tempo podem não ser recuperados.

  • O campo de filtro de tempo subjacente é fixo como write timestamp (o horário em que o log chega ao LogHub (SLS)). endDateTime controla apenas o intervalo de tempo do consumo de dados. Ele não altera o campo de filtro subjacente e não pode ser alterado para um campo comercial personalizado, como start_time.

Sim

Nenhum

query

Filtra dados no LogHub usando a sintaxe de consulta do LogHub ou instruções SPL (SLS Processing Language é a sintaxe usada pelo SLS para processar logs).

Sim

Nenhum

Nota

Se houver dados ausentes durante a leitura do LogHub, verifique no console do LogHub se o campo de metadados receive_time está dentro do intervalo de tempo configurado para a tarefa.

Particionamento por campos comerciais personalizados

O filtro de tempo para tarefas de sincronização offline do LogHub (SLS) baseia-se sempre em __tag__:__receive_time__. Não há suporte para filtragem ou particionamento direto por campos comerciais personalizados, como start_time. Para particionar dados no MaxCompute por um campo comercial personalizado, use a seguinte solução alternativa:

  1. Configure uma tarefa de sincronização offline para sincronizar todos os dados do LogHub (SLS) para uma tabela de staging do MaxCompute (sem especificar um campo de partição).

  2. Crie um nó SQL do MaxCompute e execute a seguinte instrução para gravar dados na tabela particionada de destino por um campo comercial personalizado (como start_time):

    INSERT OVERWRITE TABLE target_table PARTITION(start_time)
    SELECT col1, col2, start_time
    FROM temp_table;
  3. Use parâmetros de agendamento para passar valores de partição dinamicamente e implementar o particionamento automático por dia ou por hora.

Demonstração de script do Writer

{
    "type": "job",
    "version": "2.0",// The version number.
    "steps": [
        { 
            "stepType": "stream",
            "parameter": {},
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "LogHub",// The plug-in name.
            "parameter": {
                "datasource": "",// The data source.
                "column": [// The columns.
                    "col0",
                    "col1",
                    "col2",
                    "col3",
                    "col4",
                    "col5"
                ],
                "topic": "",// The selected topic.
                "batchSize": "1024",// The number of records to submit at a time.
                "logstore": ""// The name of the destination LogService Logstore.
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": ""// The number of error records.
        },
        "speed": {
            "throttle":true,// If throttle is set to false, the mbps parameter does not take effect and bandwidth is not throttled. If throttle is set to true, bandwidth is throttled.
            "concurrent":3, // The number of concurrent threads.
            "mbps":"12"// The throttling rate. 1 mbps = 1 MB/s.
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Parâmetros do script do Writer

Nota

O LogHub (SLS) Writer obtém dados gerados pelo Reader através do framework Data Integration e converte todos os tipos de dados suportados para STRING individualmente. Quando o batchSize especificado é atingido, os dados são enviados ao LogHub (SLS) em um único lote usando o LogService Java SDK.

Parâmetro

Descrição

Obrigatório

Valor padrão

endpoint

O endpoint do Log Service é a URL usada para acessar um projeto e seus dados de log. Ele é determinado pela região da Alibaba Cloud e pelo nome do projeto. Para endpoints de cada região, consulte Service endpoints.

Sim

Nenhum

accessKeyId

O AccessKeyId usado para acessar o Log Service.

Sim

Nenhum

accessKeySecret

O AccessKeySecret usado para acessar o Log Service.

Sim

Nenhum

project

Nome do projeto de destino no Log Service.

Sim

Nenhum

logstore

Nome do Logstore de destino. Um Logstore é a unidade no Log Service para coleta, armazenamento e consulta de dados de log.

Sim

Nenhum

topic

Nome do topic no SLS de destino.

Não

String vazia

batchSize

Número de registros de dados sincronizados com o LogHub (SLS) por vez. Valor padrão: 1.024. Valor máximo: 4.096.

Nota

O tamanho dos dados para uma única gravação em lote no LogHub (SLS) não deve exceder 5 MB. Ajuste o número de registros enviados por lote com base no tamanho individual dos seus registros.

Não

1.024

column

Nome da coluna em cada registro de dados.

Sim

Nenhum

Apêndice 2: Filtragem com sintaxe SPL do LogHub

Quando o LogHub é usado como fonte de dados, utilize a sintaxe de consulta do LogHub ou instruções SPL (SLS Processing Language) para filtrar dados no LogHub durante a configuração da tarefa. A sintaxe é descrita a seguir:

Nota

Para mais informações sobre SPL, consulte SPL overview.

Cenário

Instrução SQL

Instrução SPL

Filtragem de dados

SELECT * WHERE Type='write'

  • Filtragem condicional.

    * | where Type='write'
  • Consulta difusa.

    * | where Type like '%write%'
  • Expressão regular.

    * | where regexp_like(server_protocol, '\d+')
  • Mais (expressões SQL).

    * | where <sql-expr> 

Processamento e seleção de campos

Selecionar campos específicos e renomeá-los:

SELECT "__tag__:node" AS node, path
  • Selecionar campos específicos e renomeá-los.

    * | project node="__tag__:node", path
  • Selecionar campos por padrão.

    * | project -wildcard "__tag__:*"
  • Renomear campos específicos sem afetar outros campos.

    * | project-rename node="__tag__:node"
  • Excluir campos por padrão.

    * | project-away -wildcard "__tag__:*"

Transformação de dados

(chamar funções SQL)

Converter tipos de dados, analisar timestamps e mais:

SELECT 
  CAST(Status AS BIGINT) AS Status, 
  date_parse(Time, '%Y-%m-%d %H:%i') AS Time

Converter tipos de dados, analisar timestamps e mais:

* | extend Status=cast(Status as BIGINT), extend Time=date_parse(Time, '%Y-%m-%d %H:%i')

Extração de campos

Extração por expressão regular:

SELECT 
  CAST(Status AS BIGINT) AS Status, 
  date_parse(Time, '%Y-%m-%d %H:%i') AS Time

Extração JSON:

SELECT 
      CAST(Status AS BIGINT) AS Status, 
      date_parse(Time, '%Y-%m-%d %H:%i') AS Time
  • Extração por expressão regular: correspondência única.

    * | parse-regexp protocol, '(\w+)/(\d+)' as scheme, version
  • Extração JSON: expansão completa.

    * | parse-json -path='$.0' content
  • Extração CSV.

    * | parse-csv -delim='^_^' content as ip, time, host

Apêndice 3: Valores de coluna configuráveis

A lógica de leitura de todos os campos é acionada apenas quando column contém exatamente um elemento que seja * ou "*". Caso contrário, cada elemento de column é processado na ordem normal de correspondência. Por exemplo, se você configure ["*", "__time__"], o * não aciona a lógica de leitura de todos os campos. Em vez disso, ele é correspondido como um nome de campo normal, o que geralmente resulta em null.

A ordem normal de correspondência é: campos de conteúdo de log normal → mapeamento de campo de metadados interno do Reader → constantes entre aspas simples → __tag__:<tagKey> → null. Se um campo de conteúdo de log normal tiver o mesmo nome que um campo de metadados ou chave LogTag, o campo de conteúdo de log normal terá prioridade.

A tabela a seguir lista os campos comumente usados e recomendados para configurações voltadas ao usuário nas definições de column do LogHub Reader, com base nas definições de campos reservados do SLS. A existência de valor em um campo depende do conteúdo real do log, dos metadados do LogGroup e dos LogTags recuperados.

Configuração

Comportamento

Nome de campo normal, como content ou level

Lê o valor dos campos de conteúdo (contents) de cada entrada de log pela chave. Os nomes dos campos diferenciam maiúsculas de minúsculas.

__time__ ou __logtime__

Lê log.getTime() de cada entrada de log, que corresponde ao horário do log como um timestamp em segundos.

__source__

Lê o source do LogGroup, que corresponde ao dispositivo de origem do log.

__topic__

Lê o topic do LogGroup, que corresponde ao tópico do log.

__category__

Lê a category do LogGroup.

__machineUUID__

Lê o machineUUID do LogGroup.

__tag__:__receive_time__

Lê __receive_time__ dos LogTags, que indica o horário em que o log chega ao servidor. Esta tag deve existir efetivamente no log.

__tag__:__client_ip__

Lê __client_ip__ dos LogTags, que indica o endereço IP público do dispositivo de origem do log. Esta tag deve existir efetivamente no log.

__tag__:__path__

Lê __path__ dos LogTags, que normalmente indica o caminho do arquivo de log coletado pelo Logtail. Esta tag deve existir efetivamente no log.

__tag__:__hostname__

Lê __hostname__ dos LogTags, que normalmente indica o nome do host da máquina de origem onde o Logtail coleta dados. Esta tag deve existir efetivamente no log.

__tag__:<tagKey>

Lê outros LogTags especificados, como __tag__:__pack_id__ ou __tag__:__user_defined_id__.

__raw_log__ ou __raw__

Se este campo existir como um campo de conteúdo de log, poderá ser lido como um nome de campo normal.

'fixed value'

Gera uma string constante (o conteúdo após remover as aspas simples externas).

["*"]

Tem efeito apenas quando column contém um único *. Lê todos os campos de conteúdo de log normal, ordena-os por chave e gera cada coluna no formato key:value.

Campos não correspondidos

Gera null sem relatar erro.

Exemplo de configuração:

"column": [
  "content",
  "__time__",
  "__source__",
  "__tag__:__receive_time__",
  "'constant_value'"
]