Todos os produtos
Search
Central de documentação

Simple Log Service:Funções de dados estruturados

Última atualização: Jul 03, 2026

O Simple Log Service (SLS) oferece funções para extrair e converter dados estruturados em JSON, XML e Protobuf durante a transformação de dados.

Funções

Categoria

Função

Descrição

JSON

json_select

Extrai ou calcula valores de uma expressão JSON com a sintaxe JMESPath.

json_parse

Analisa um valor e o converte em um objeto JSON.

XML

xml_to_json

Converte dados XML para JSON.

json_select

Extrai ou calcula valores de uma expressão JSON com a sintaxe JMESPath.

  • Sintaxe

    json_select(value, jmes, default=None, restrict=False)
  • Parâmetros

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    value

    String, JSON

    Sim

    Expressão JSON ou campo de origem da extração.

    jmes

    String

    Sim

    Expressão JMESPath que especifica o campo a extrair.

    default

    String

    Não

    Valor alternativo caso o campo especificado não exista. Padrão: None (nenhum valor retornado).

    restrict

    Bool

    Não

    Indica se o modo restrito deve ser ativado quando o valor extraído não for um JSON válido. Padrão: False.

    • False: Ignora o erro e continua a transformação. Retorna o valor default.

    • True: Reporta um erro, interrompe a transformação e descarta o log.

  • Resposta

    O valor extraído.

  • Exemplos

    • Exemplo 1: Extrair o valor do elemento name do campo content.

      • Log bruto

        content:  {"name": "xiaoming", "age": 10}
      • Regra de transformação

        e_set("json_filter",json_select(v("content"), "name"))
      • Resultado

        content:  {"name": "xiaoming", "age": 10}
        json_filter:  xiaoming
    • Exemplo 2: Extrair todos os valores do elemento name do campo content.

      • Log bruto

        content:  {"name": ["xiaoming", "xiaowang", "xiaoli"], "age": 10}
      • Regra de transformação

        e_set("json_filter", json_select(v("content"), "name[*]"))
      • Resultado

        content:  {"name": ["xiaoming", "xiaowang", "xiaoli"], "age": 10}
        json_filter:  ["xiaoming", "xiaowang", "xiaoli"]
    • Exemplo 3: Extrair o elemento name3. Caso não exista, retornar o valor padrão.

      • Log bruto

        content:  {"name": "xiaoming", "age": 10}
      • Regra de transformação

        e_set("json_filter", json_select(v("content"), "name3", default="None"))
      • Resultado

        content:  {"name": "xiaoming", "age": 10}
        json_filter: None
    • Exemplo 4: Extrair o elemento name-test (contém hífen) do campo content.

      • Log bruto

        content:  {"name": {"name-test":"xiaoming"}, "age": 10}
      • Regra de transformação

        e_set("json_filter", json_select(v("content"), 'name."name-test"', default=None))
      • Resultado

        content:  {"name": {"name-test":"xiaoming"}, "age": 10}
        json_filter: xiaoming
    • Exemplo 5: Extrair o elemento name-test (contém hífen). Se não existir, nenhum campo será retornado.

      • Log bruto

        content:  {"name": {"name.test":"xiaoming"}, "age": 10}
      • Regra de transformação

        e_set("json_filter", json_select(v("content"), 'name."name-test"', default=None))
      • Resultado

        content:  {"name": {"name-test":"xiaoming"}, "age": 10}

json_parse

Analisa um valor e o converte em um objeto JSON.

  • Sintaxe

    json_parse(value, default=None, restrict=False)
  • Parâmetros

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    value

    String

    Sim

    Campo a analisar e converter em um objeto JSON.

    default

    String

    Não

    Valor alternativo caso o campo não exista. Padrão: None (nenhum valor retornado).

    restrict

    Bool

    Não

    Indica se o modo restrito deve ser ativado quando o valor não for um JSON válido. Padrão: False.

    • False: Ignora o erro e continua a transformação. Retorna o valor default.

    • True: Reporta um erro, interrompe a transformação e descarta o log.

  • Resposta

    O objeto JSON analisado.

  • Exemplos

    • Exemplo 1: Analisar o valor do campo content e convertê-lo em um objeto JSON.

      • Log bruto

        content:  {"abc": 123, "xyz": "test" }
      • Regra de transformação

        e_set("json", json_parse(v("content")))
      • Resultado

        content:  {"abc": 123, "xyz": "test" }
        json:  {"abc": 123, "xyz": "test"}
    • Exemplo 2: Analisar o campo content. Se o valor não for um JSON válido, retornar o valor padrão.

      • Log bruto

        content: this is not json
      • Regra de transformação

        e_set("json", json_parse(v("content"), default="FFF", restrict=False))
      • Resultado

        content: this is not json
        json: FFF

xml_to_json

Converte dados XML para JSON.

  • Sintaxe

    xml_to_json(source)
  • Parâmetros

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    source

    String

    Sim

    Campo XML a converter.

  • Resposta

    Os dados JSON convertidos.

  • Exemplos

    • Log bruto

      str : <data><country name="Liechtenstein"><rank>1</rank><year>2008</year><gdppc>141100</gdppc><neighbor name="Austria" direction="E"/><neighbor name="Switzerland" direction="W"/></country><country name="Singapore"><rank>4</rank><year>2011</year><gdppc>59900</gdppc><neighbor name="Malaysia" direction="N"/></country><country name="Panama"><rank>68</rank><year>2011</year><gdppc>13600</gdppc><neighbor name="Costa Rica" direction="W"/><neighbor name="Colombia" direction="E"/></country></data>
    • Regra de transformação

      e_set("str_json",xml_to_json(v("str")))
    • Resultado

      str:<data><country name="Liechtenstein"><rank>1</rank><year>2008</year><gdppc>141100</gdppc><neighbor name="Austria" direction="E"/><neighbor name="Switzerland" direction="W"/></country><country name="Singapore"><rank>4</rank><year>2011</year><gdppc>59900</gdppc><neighbor name="Malaysia" direction="N"/></country><country name="Panama"><rank>68</rank><year>2011</year><gdppc>13600</gdppc><neighbor name="Costa Rica" direction="W"/><neighbor name="Colombia" direction="E"/></country></data>
      str_json:{"data": {"country": [{"@name": "Liechtenstein", "rank": "1", "year": "2008", "gdppc": "141100", "neighbor": [{"@name": "Austria", "@direction": "E"}, {"@name": "Switzerland", "@direction": "W"}]}, {"@name": "Singapore", "rank": "4", "year": "2011", "gdppc": "59900", "neighbor": {"@name": "Malaysia", "@direction": "N"}}, {"@name": "Panama", "rank": "68", "year": "2011", "gdppc": "13600", "neighbor": [{"@name": "Costa Rica", "@direction": "W"}, {"@name": "Colombia", "@direction": "E"}]}]}}