Todos os produtos
Search
Central de documentação

Simple Log Service:Funções de modelo integradas

Última atualização: Jul 03, 2026

As funções integradas para modelos de conteúdo permitem manipular dados e enriquecer o formato e o estilo das notificações. Este tópico descreve a sintaxe e apresenta exemplos dessas funções.

Funções gerais

Math functions

Função

Descrição

Filtro

Exemplo

float(value, default=0,0)

Converte um número inteiro ou uma string em um número de ponto flutuante.

Se a conversão falhar, a função retornará 0,0 por padrão. Use o parâmetro default para especificar um valor de retorno diferente em caso de falha.

Compatível

  • O resultado de {{ float("123") }} é 123,0.

  • O resultado de {{ float("foo") }} é 0,0.

  • O resultado de {{ float("foo", default=1,23) }} é 1,23.

int(value, default=0)

Converte uma string ou um número em um número inteiro.

Se a conversão falhar, a função retornará 0 por padrão. Use o parâmetro default para especificar um valor de retorno diferente em caso de falha.

Compatível

  • O resultado de {{ int(1,23) }} é 1.

  • O resultado de {{ int("1,23") }} é 1.

  • O resultado de {{ int("foo") }} é 0.

  • O resultado de {{ int("foo", default=5) }} é 5.

length(value)

Retorna o comprimento ou a quantidade de itens em um objeto, como uma string, lista ou tupla.

Compatível

  • O resultado de {{ length("foo") }} é 3.

  • O resultado de {{ length([1, 2]) }} é 2.

  • O resultado de {{ length({"foo": "bar"}) }} é 1.

abs(value)

Retorna o valor absoluto de um número.

Compatível

O resultado de {{ abs(-1) }} é 1.

min(value)

Retorna o valor mínimo.

Compatível

O resultado de {{ min([1, 3, 2]) }} é 1.

max(value)

Retorna o valor máximo.

Compatível

O resultado de {{ max([1, 3, 2]) }} é 3.

ceil(value)

Arredonda um número para cima até o inteiro mais próximo.

Compatível

O resultado de {{ ceil(1,23) }} é 2.

floor(value)

Arredonda um número para baixo até o inteiro mais próximo.

Compatível

O resultado de {{ floor(1,23) }} é 1.

round(value, 1)

Arredonda um número para o inteiro mais próximo.

O argumento especifica o número de casas decimais a manter. Por exemplo, 1 mantém uma casa decimal.

Compatível

  • O resultado de {{ round(1,23) }} é 1.

  • O resultado de {{ round(1,56) }} é 2.

  • O resultado de {{ round(1,56, 1) }} é 1,6.

sum(value)

Calcula a soma.

Compatível

O resultado de {{ sum([1, 2, 3]) }} é 6.

String functions

Função

Descrição

Filtro

Exemplo

string(value)

Converte um objeto em uma string.

Compatível

O resultado de {{ string(1,23) }} é 1,23.

Neste caso, 1,23 é uma string.

capitalize(value)

Converte o primeiro caractere de uma string para maiúsculo e os demais para minúsculo.

Compatível

O resultado de {{ capitalize("heLLO World") }} é Hello world.

lower(value)

Converte uma string para minúsculas.

Compatível

O resultado de {{ lower("FOO") }} é foo.

upper(value)

Converte uma string para maiúsculas.

Compatível

O resultado de {{ upper("foo") }} é FOO.

title(value)

Retorna uma versão da string com iniciais maiúsculas, em que o primeiro caractere de cada palavra fica em maiúsculo e o restante, em minúsculo.

Compatível

O resultado de {{ title("hello world") }} é Hello World.

trim(value)

Remove espaços em branco do início e do fim de uma string.

Compatível

O resultado de {{ trim(" foo\n") }} é foo.

replace(value, old, new)

Substitui uma substring dentro de uma string.

Não compatível

O resultado de {{ replace("foo", "oo", "ly") }} é fly.

wordcount(value)

Conta o número de palavras em uma string.

Compatível

O resultado de {{ wordcount("hello world") }} é 2.

truncate(value, n, end='')

Trunca uma string.

  • Use truncate(value, n) para especificar o número de caracteres a manter.

  • Use truncate(value, n, end='...') para especificar um sufixo a adicionar.

Não compatível

  • O resultado de {{ truncate("foo bar", 5) }} é foo b.

  • O resultado de {{ truncate("foo bar", 5, end="...") }} é foo b....

quote(value)

Coloca uma string entre aspas duplas ("").

Compatível

  • O resultado de {{ quote(123) }} é "123"

  • O resultado de {{ quote("foo") }} é "foo".

indent(value, n=4)

Aplica recuo em cada linha de uma string. O recuo padrão é de 4 espaços.

Use o parâmetro n para especificar o número de espaços do recuo.

Compatível

  • O resultado de {{ "foobar\n" }}{{ indent("foo\nbar") }} é:

    foobar
            foo
            bar
  • O resultado de {{ "foobar\n" }}{{ indent("foo\nbar", 2) }} é:

    foobar
          foo
          bar

startswith(value, prefix)

Verifica se uma string começa com um prefixo específico.

Compatível

O resultado de {{ startswith("football", "foo") }} é true.

endswith(value, suffix)

Verifica se uma string termina com um sufixo específico.

Compatível

O resultado de {{ endswith("football", "all") }} é true.

removeprefix(value, prefix)

Remove o prefixo de uma string.

Compatível

O resultado de {{ removeprefix("football", "foot") }} é ball.

removesuffix(value, suffix)

Remove o sufixo de uma string.

Compatível

O resultado de {{ removesuffix("football", "ball") }} é foot.

split(value, sep=None, maxsplit=-1)

Divide uma string.

  • Use o parâmetro sep para especificar o separador.

  • Use o parâmetro maxsplit para limitar o número de divisões.

    Se maxsplit não for especificado ou estiver definido como -1, não haverá limite para o número de divisões.

Compatível

  • O resultado de {{ split('a b c ') }} é ['a', 'b', 'c'].

  • O resultado de {{ split('a-b-c', sep='-') }} é ['a', 'b', 'c'].

  • O resultado de {{ split('a-b-c', sep='-', maxsplit=1) }} é ['a', 'b-c'].

  • O resultado de {{ split('a<>b<>c', sep='<>') }} é ['a', 'b', 'c'].

List and object functions

Função

Descrição

Filtro

Exemplo

enumerate(value)

Associa cada elemento de um iterável ao seu índice e retorna uma lista de tuplas (índice, elemento).

Não compatível

O resultado de {{ enumerate(["foo", "bar"]) }} é [(0, 'foo'), (1, 'bar')].

list(value)

Converte um objeto iterável em uma lista.

Compatível

  • O resultado de {{ list(("foo", "bar")) }} é ['foo', 'bar'].

  • O resultado de {{ list("foo") }} é ['f', 'o', 'o'].

dict(value)

Cria um dicionário, semelhante ao uso de {}.

Não compatível

O resultado de {{ dict(foo=1, bar="hello") }} é {'foo': 1, 'bar': 'hello'}.

first(value)

Retorna o primeiro item de uma lista.

Compatível

O resultado de {{ first([1, 2, 3]) }} é 1.

last(value)

Retorna o último item de uma lista.

Compatível

O resultado de {{ last([1, 2, 3]) }} é 3.

sort(value, reverse=true)

Ordena os elementos de uma lista.

Para ordenar em ordem inversa, especifique reverse=true.

Compatível

  • O resultado de {{ sort([3, 1, 2]) }} é [1, 2, 3].

  • O resultado de {{ sort([3, 1, 2], reverse=true) }} é [3, 2, 1].

dictsort(value)

Ordena os pares chave-valor de um objeto pela chave e retorna um array dos pares ordenados.

Compatível

  • Exemplo do campo alert.labels

    {
        "host": "host-1",
        "app": "nginx"
    }
  • Configuração do modelo de conteúdo

    {%- for key, val in dictsort(alert.labels) %}
    {{ key }}: {{ val }}
    {%- endfor %}
  • Resultado

    app: nginx
    host: host-1

join(value, d='')

Une os elementos de uma lista com um separador.

Use o parâmetro d para especificar o separador.

Compatível

  • O resultado de {{ join([1, 2, 3]) }} é 123.

  • O resultado de {{ join([1, 2, 3], ',') }} é 1,2,3.

Formatting functions

Função

Descrição

Filtro

Exemplo

escape_markdown(value)

Escapa caracteres especiais do Markdown.

Compatível

O resultado de {{ escape_markdown("__a__ b #c") }} é &#95;&#95;a&#95;&#95; &#42;&#42;b&#42;&#42; &#35;c.

escape_html(value)

Escapa caracteres especiais do HTML.

Compatível

O resultado de {{ escape_html("<div>") }} é &lt;div&gt;.

to_json(value)

Converte um objeto para o formato JSON.

Compatível

  • O resultado de {{ to_json("foo") }} é "foo".

  • O resultado de {{ to_json(1,23) }} é 1,23.

  • O resultado de {{ to_json(True) }} é true.

  • O resultado de {{ to_json(alert.labels) }} é {"host": "host-1", "app": "nginx"}.

parse_json(value)

Analisa uma string em uma estrutura de dados JSON.

Compatível

  • O resultado de {{ parse_json('{"foo": "bar"}').foo }} é bar.

  • O resultado de {{ parse_json('[1, 2, 3]')[1] }} é 2.

Encoding and decoding functions

Função

Descrição

Filtro

Exemplo

base64_encoding(value)

Codifica o valor de entrada em Base64.

Compatível

O resultado de {{ base64_encoding("foo") }} é Zm9v.

base64_decoding(value)

Decodifica o valor de entrada codificado em Base64.

Compatível

O resultado de {{ base64_decoding("Zm9v") }} é foo.

md5_encoding(value)

Gera o hash MD5 do valor de entrada.

Compatível

O resultado de {{ md5_encoding("foo") }} é acbd18db4cc2f85cedef654fccc4a4d8.

url_encoding(value)

Codifica o valor de entrada para URL.

Compatível

O resultado de {{ url_encoding("https://example.com?a=b&c=d") }} é https%3A%2F%2Fexample.com%3Fa%3Db%26c%3Dd.

url_decoding(value)

Decodifica o valor de entrada codificado para URL.

Compatível

O resultado de {{ url_decoding("https%3A%2F%2Fexample.com%3Fa%3Db%26c%3Dd") }} é https://example.com?a=b&c=d.

Date and time functions

Função

Descrição

Filtro

Exemplo

parse_date(value, fmt="%Y-%m-%d %H:%M:%S")

Converte um timestamp Unix ou uma string formatada em um objeto datetime.

Use o parâmetro fmt para especificar o formato de data e hora.

Compatível

  • O resultado de {{ parse_date(1629820800) }} é 2021-08-25 00:00:00.

  • O resultado de {{ parse_date("2021|08|25|00|00|00", fmt="%Y|%m|%d|%H|%M|%S") }} é 2021-08-25 00:00:00.

format_date(value, tz=None, fmt="%Y-%m-%d %H:%M:%S")

Formata um valor de data e hora como uma string.

Use o parâmetro fmt para especificar o formato de saída.

Se o valor de entrada não for um objeto de data, a função o converterá em um objeto de data antes de formatá-lo. Para obter mais informações sobre diretivas de formato de data e hora, consulte Instruções de formatação de data e hora. Para obter mais informações sobre fusos horários, consulte Fusos horários.

Não compatível

  • O resultado de {{ format_date(1629820800) }} é 2021-08-25 00:00:00.

  • O resultado de {{ format_date(1629820800, fmt="%Y/%m/%d %H:%M:%S") }} é 2021/08/25 00:00:00.

  • O resultado de {{ format_date(1629820800, tz="UTC", fmt="%Y/%m/%d %H:%M:%S") }} é 2021/08/24 16:00:00.

timestamp(value)

Converte uma string de data e hora em um timestamp Unix.

Se o valor de entrada não for um objeto de data, a função o converterá em um objeto de data antes de retornar o timestamp.

Compatível

  • O resultado de {{ timestamp("2021-08-25 00:00:00") }} é 1629820800.

  • O resultado de {{ timestamp(parse_date("2021-08-25 00:00:00")) }} é 1629820800.

format_duration(value, locale='en-US', sep='')

Formata um intervalo de tempo. A unidade de value é segundos.

Use o parâmetro locale para especificar o idioma. Para valores válidos do parâmetro locale, consulte Valores válidos para o parâmetro locale em funções de alerta.

Compatível

  • O resultado de {{ 10 | format_duration }} é 10s.

  • O resultado de {{ 60 | format_duration }} é 1m.

  • O resultado de {{ 3600 | format_duration }} é 1h.

  • O resultado de {{ 86400 | format_duration }} é 1d.

  • O resultado de {{ 100000 | format_duration }} é 1d3h46m40s.

  • O resultado de {{ 100000 | format_duration(sep=",") }} é 1d,3h,46m,40s.

Funções de alerta

As funções de alerta operam no contexto de alerta e se adaptam à configuração do modelo de conteúdo. Elas detectam automaticamente:

Nota

A execução de funções de alerta em diferentes contextos pode retornar resultados distintos.

  • Propriedades do alerta, como severidade e status do alerta atual.

  • Idioma configurado no modelo de conteúdo, como chinês ou inglês.

  • Canal de notificação, como DingTalk ou e-mail.

Função

Descrição

Filtro

Exemplo

format_type(alert.type, locale=None)

Converte o tipo de alerta em uma descrição textual.

Use o parâmetro locale para especificar o idioma. Para valores válidos do parâmetro locale, consulte Valores válidos para o parâmetro locale em funções de alerta.

Compatível

  • O tipo de alerta é sls_pub.

  • Configuração do modelo de conteúdo

    {{ format_type(alert.type) }}
  • Resultado

    • Se o idioma do modelo de conteúdo for chinês, o conteúdo da notificação será alert ingestion system.

    • Se o idioma do modelo de conteúdo for inglês, o conteúdo da notificação será Pub Alert.

format_region(alert.region, locale=None)

Converte a região do alerta em uma descrição textual.

Use o parâmetro locale para especificar o idioma. Para valores válidos do parâmetro locale, consulte Valores válidos para o parâmetro locale em funções de alerta.

Compatível

  • A região do alerta atual é cn-hangzhou.

  • Configuração do modelo de conteúdo

    {{ format_region(alert.region) }}
  • Resultado

    • Se o idioma do modelo de conteúdo for chinês, o conteúdo da notificação será China (Hangzhou).

    • Se o idioma do modelo de conteúdo for inglês, o conteúdo da notificação será China (Hangzhou).

format_severity(alert.severity, locale=None)

Converte a severidade do alerta em uma descrição textual com formatação colorida.

Nota

Texto colorido é compatível apenas com notificações via DingTalk, WeCom, e-mail e Message Center.

Use o parâmetro locale para especificar o idioma. Para valores válidos do parâmetro locale, consulte Valores válidos para o parâmetro locale em funções de alerta.

Compatível

  • A severidade do alerta é 6.

  • Configuração do modelo de conteúdo

    {{ format_severity(alert.severity) }}
  • Resultado

    • Se o idioma do modelo de conteúdo for chinês, o conteúdo da notificação será Medium em fonte amarela.

    • Se o idioma do modelo de conteúdo for inglês, o conteúdo da notificação será Medium em fonte amarela.

format_status(alert.status, locale=None)

Converte o status do alerta em uma descrição textual com formatação colorida.

Nota

Texto colorido é compatível apenas com notificações via DingTalk, WeCom, e-mail e Message Center. Em outros canais, a saída permanece inalterada.

Use o parâmetro locale para especificar o idioma. Para valores válidos do parâmetro locale, consulte Valores válidos para o parâmetro locale em funções de alerta.

Compatível

  • O alerta atual está no Firing state.

  • Configuração do modelo de conteúdo

    {{ format_status(alert.status) }}
  • Resultado

    • Se o idioma do modelo de conteúdo for chinês, o conteúdo da notificação será Firing em fonte vermelha.

    • Se o idioma do modelo de conteúdo for inglês, o conteúdo da notificação será Firing em fonte vermelha.

to_list(value)

Converte um array ou objeto em uma lista.

Compatível

  • Rótulos do alerta

    {
        "app": "nginx",
        "host": "host-1"
    }
  • Configuração do modelo de conteúdo

    {{ to_list(alert.labels) }}
  • Resultado

    • Se o conteúdo da notificação estiver no formato Markdown, o resultado será:

      A função escapa automaticamente os caracteres Markdown conforme os requisitos do canal de notificação.

      - app: nginx
      - host: host&#45;1
    • Se o conteúdo da notificação estiver no formato HTML, o resultado será:

      <ul>
        <li>app: nginx</li>
        <li>host: host-1</li>
      </ul>
    • Se o conteúdo da notificação estiver no formato de texto simples, o resultado será:

      [app: nginx][host: host-1]

annotations_to_list(alert.annotations, locale=None)

Converte anotações de alerta em uma lista. Esta função opera como to_list(alert.annotations), mas mapeia automaticamente nomes de campos padrão para rótulos legíveis. Por exemplo, converte o campo title em Title ou Title. Para obter uma lista de nomes padrão, consulte Mapeamentos de campos de anotação de alerta.

Use o parâmetro locale para especificar o idioma. Para valores válidos do parâmetro locale, consulte Valores válidos para o parâmetro locale em funções de alerta.

Compatível

  • Anotações do alerta

    {
        "title": "Nginx access abnormal",
        "desc": "PV decreased by 80% year-over-year",
        "cnt": "120"
    }
  • Configuração do modelo de conteúdo

    {{ annotations_to_list(alert.annotations) }}
  • Resultado

    Se o conteúdo da notificação estiver no formato Markdown, o resultado será:

    - Title: Nginx access abnormal
    - Description: PV decreased by 80% year-over-year
    - cnt: 120

blockquote(value)

Adiciona formatação de citação em bloco ao conteúdo da notificação.

  • Se o conteúdo da notificação estiver no formato Markdown, adiciona-se um símbolo > ao início de cada linha.

  • Se o conteúdo da notificação estiver no formato HTML, o conteúdo é envolvido em uma tag <blockquote>.

Compatível

  • Configuração do modelo de conteúdo

    {{ blockquote("foo\nbar") }}
  • Resultado

    • Se o conteúdo da notificação estiver no formato Markdown, o resultado será:

      > foo
      > bar
    • Se o conteúdo da notificação estiver no formato HTML, o resultado será:

      <blockquote>
      foo
      bar
      </blockquote>

Referências

  • Valores válidos para o parâmetro locale em funções de alerta

    Valor de locale

    Descrição

    None ou string vazia

    Usa o idioma configurado no modelo de conteúdo.

    en-US

    Inglês.

    zh-CN

    Chinês.

  • Mapeamentos de campos de anotação de alerta

    Anotação

    Valor de mapeamento (Chinês)

    Valor de mapeamento (Inglês)

    title

    Title

    Title

    desc

    Description

    Description

    anomaly_score

    Anomaly Score

    Anomaly Score

    job_id

    Task ID

    Task ID

    model_id

    Model ID

    Model ID

    severity

    Anomaly Severity

    Anomaly Severity

    __pub_alert_app__

    Application

    Application

    __pub_alert_protocol__

    Protocol

    Protocol

    __pub_alert_region__

    Region

    Region

    __pub_alert_service__

    Service

    Service

    __ensure_url__

    Anomaly Confirmation

    Anomaly Confirmation

    __mismatch_url__

    False Positive Confirmation

    False Positive Confirmation

    __plot_image__

    Time Series Chart

    Time Series Chart

    __host_ip__

    Machine Address

    Machine Address

    __host_group_name__

    Machine Group Name

    Machine Group Name

    __cloud_monitor_type__

    CloudMonitor

    CloudMonitor